{"id":15321002,"url":"https://github.com/qingwave/gocorex","last_synced_at":"2025-04-15T02:37:02.975Z","repository":{"id":55030938,"uuid":"517611698","full_name":"qingwave/gocorex","owner":"qingwave","description":"Gocorex is a collection golang useful utils for golang application, distributed system and microservices.","archived":false,"fork":false,"pushed_at":"2023-12-19T07:22:59.000Z","size":132,"stargazers_count":35,"open_issues_count":0,"forks_count":10,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-28T15:01:35.922Z","etag":null,"topics":["bloom-filter","cron","data-structures","distributed","distributed-lock","etcd","go","golang","redis","service-discovery"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qingwave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-25T10:05:25.000Z","updated_at":"2025-03-10T08:14:29.000Z","dependencies_parsed_at":"2024-06-19T01:34:30.272Z","dependency_job_id":"a2cf54c4-05bd-454e-a5d0-62c2de64a32c","html_url":"https://github.com/qingwave/gocorex","commit_stats":{"total_commits":22,"total_committers":2,"mean_commits":11.0,"dds":"0.045454545454545414","last_synced_commit":"d843dc6c61ce18744f8103fde1cd7da9de5d0030"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fgocorex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fgocorex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fgocorex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qingwave%2Fgocorex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qingwave","download_url":"https://codeload.github.com/qingwave/gocorex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248995102,"owners_count":21195497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bloom-filter","cron","data-structures","distributed","distributed-lock","etcd","go","golang","redis","service-discovery"],"created_at":"2024-10-01T09:09:35.979Z","updated_at":"2025-04-15T02:37:02.285Z","avatar_url":"https://github.com/qingwave.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gocorex\n\nGocorex is a collection golang useful utils for distributed system and microservices.\n\n## Features\n\n### Distributed Bloom Filter\n- [Redis Bloom](bloom)\n\n### Distributed Rate Limiter\n- [Redis RateLimiter](rate)\n\n### Distributed Lock\n- [Redis Lock](syncx/redislock)\n- [Etcd Lock](syncx/etcdlock)\n- [ZooKeeper Lock](syncx/zklock)\n\n### Service Discovery\n- [Etcd discovery](discovery/etcdiscovery/)\n- [ZooKeeper discovery](discovery/zkdiscovery/)\n\n### PubSub\n- [PubSub](pubsub)\n- [Etcd PubSub](pubsub/etcdpubsub)\n\n### Cron\n- [Cron with min-heap](cron/cron.go), implemented by minimal heap\n- [TimeWheel](cron/timewheel.go)\n\n### Concurrency\n- [Group](syncx/group/group.go), wrap the WaitGroup\n- [ErrGroup](syncx/group/errgroup.go), run groups of goroutines, context cancel when meet error\n- [CtrlGroup](syncx/group/ctrlgroup.go), run special number goroutines\n\n### Metrics\n- [Http state metrics](metrics/http.go), http prometheus metrics handler middleware\n\n### Data structures\n- [Set](containerx/set.go), hash set with generics\n- [Heap](containerx/heap.go), heap with generics\n- [Queue](containerx/queue.go), queue with generics\n- [Ring](containerx/ring.go), ring queue with generics\n\n### utils\n- [trace](trace), recoding the latency of operations\n- [retry](retry), retry operation on conditional\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqingwave%2Fgocorex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqingwave%2Fgocorex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqingwave%2Fgocorex/lists"}