{"id":13756989,"url":"https://github.com/ShisoftResearch/bifrost","last_synced_at":"2025-05-10T04:31:11.537Z","repository":{"id":65032650,"uuid":"73016357","full_name":"ShisoftResearch/bifrost","owner":"ShisoftResearch","description":"Pure rust building block for distributed systems","archived":false,"fork":false,"pushed_at":"2025-01-31T22:23:25.000Z","size":1023,"stargazers_count":165,"open_issues_count":1,"forks_count":19,"subscribers_count":14,"default_branch":"develop","last_synced_at":"2025-01-31T23:24:03.170Z","etag":null,"topics":["consensus","data-structrues","distributed-systems","raft","rpc","rust","rust-library"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ShisoftResearch.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":"2016-11-06T20:19:15.000Z","updated_at":"2025-01-31T22:23:29.000Z","dependencies_parsed_at":"2023-01-01T04:21:43.803Z","dependency_job_id":"5e0ef3ec-5381-4b21-82ec-0aab96f92a4f","html_url":"https://github.com/ShisoftResearch/bifrost","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShisoftResearch%2Fbifrost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShisoftResearch%2Fbifrost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShisoftResearch%2Fbifrost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShisoftResearch%2Fbifrost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShisoftResearch","download_url":"https://codeload.github.com/ShisoftResearch/bifrost/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253365274,"owners_count":21897181,"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":["consensus","data-structrues","distributed-systems","raft","rpc","rust","rust-library"],"created_at":"2024-08-03T11:01:00.628Z","updated_at":"2025-05-10T04:31:11.073Z","avatar_url":"https://github.com/ShisoftResearch.png","language":"Rust","readme":"# bifrost \n[![Build Status](https://travis-ci.org/ShisoftResearch/bifrost.svg?branch=master)](https://travis-ci.org/ShisoftResearch/bifrost)\n\nPure rust building block for distributed systems\n\n### Objective\n\nThe objective of bifrost is to build a solid foundation for distributed systems in rust.\nIt is similar to one of my Clojure project [cluster-connecter](https://github.com/shisoft/cluster-connector), but no longer require any third-party software like Zookeeper or etcd. \nBifrost will ship with it's own reliable data store based on [raft consensus algorithm](https://raft.github.io/) state machines. Users are also able to build their own reliable data structures by implementing state machine commands.  \n\n**Bifrost is still in very early stage of development and it is not suggested to be used in any kinds of projects until it is stabilized and fully tested** \n\n### Progress Check List\n\n- [ ] RPC\n    - [x] TCP Server\n    - [x] Protocol\n    - [x] Event driven server\n    - [x] Sync client\n    - [x] Async client\n    - [X] Multiplexing pluggable services\n    - [X] Shortcut (for both TCP and RPC APIs)\n- [ ] Raft (data replication)\n    - [x] Leader election\n    - [x] Log replication\n    - [x] Master/subs state machine framework\n    - [ ] State machine client\n        - [x] Sync\n        - [x] PubSub\n    - [ ] Master state machine snapshot\n        - [x] Generate\n        - [x] Install\n        - [ ] Generate in chunks\n        - [ ] Install in chunks\n        - [ ] Automation\n        - [ ] Persistent to disk\n        - [ ] Recover from disk\n        - [ ] Incremental snapshot\n    - [ ] Membership changes\n        - [x] State machine\n            - [x] New Member\n            - [x] Delete Member\n            - [x] Snapshot\n            - [x] Recover\n        - [X] Interfaces\n        - [X] Update procedures\n    - [x] Cluster bootstrap\n    - [x] Client\n        - [x] Command \n        - [x] Query \n            - [x] Concurrency\n        - [x] Failover\n        - [x] Membership changes \n        - [x] Subscription \n    - [ ] Raft Group\n    - [ ] Tests\n        - [x] State machine framework\n        - [x] Leader selection\n        - [x] Log replication\n        - [ ] Snapshot\n        - [ ] Membership changes\n            - [x] New member\n            - [x] Delete member\n        - [ ] Safety\n        - [ ] Stress and benchmark\n        - [ ] Stress + Safety\n- [ ] Sharding\n    - [x] Consistent hash\n- [ ] Reliable data store\n    - [x] Client group membership\n    - [x] Client group leader election\n    - [x] Map\n    - [ ] Set\n    - [ ] Array\n    - [ ] Queue\n    - [x] Value\n    - [x] Number\n    - [ ] Lock\n- [ ] Integration (API)\n    - [ ] gPRC\n- [ ] Utility\n    - [x] [Global bindings](https://clojuredocs.org/clojure.core/binding)\n- [x] Consistent hashing\n- [x] Vector clock\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FShisoftResearch%2Fbifrost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FShisoftResearch%2Fbifrost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FShisoftResearch%2Fbifrost/lists"}