{"id":34126389,"url":"https://github.com/andrewlee302/distributed-system","last_synced_at":"2025-12-14T23:41:28.306Z","repository":{"id":76061102,"uuid":"97216076","full_name":"andrewlee302/distributed-system","owner":"andrewlee302","description":"Creative and educational project for distributed system","archived":false,"fork":false,"pushed_at":"2021-03-10T12:24:07.000Z","size":1188,"stargazers_count":19,"open_issues_count":3,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-21T20:04:27.544Z","etag":null,"topics":["consensus","consistency","distributed-systems","education","golang","graduate-course","http","keyvaluestore","paxos","transaction","twophasecommit"],"latest_commit_sha":null,"homepage":"","language":"Go","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/andrewlee302.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":"2017-07-14T09:16:01.000Z","updated_at":"2024-06-13T19:14:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f6771cb-1790-422d-b2ce-2793f671e0a6","html_url":"https://github.com/andrewlee302/distributed-system","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andrewlee302/distributed-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewlee302%2Fdistributed-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewlee302%2Fdistributed-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewlee302%2Fdistributed-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewlee302%2Fdistributed-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewlee302","download_url":"https://codeload.github.com/andrewlee302/distributed-system/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewlee302%2Fdistributed-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27739381,"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","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","consistency","distributed-systems","education","golang","graduate-course","http","keyvaluestore","paxos","transaction","twophasecommit"],"created_at":"2025-12-14T23:41:24.007Z","updated_at":"2025-12-14T23:41:28.299Z","avatar_url":"https://github.com/andrewlee302.png","language":"Go","readme":"# Distributed System Course\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/andrewlee302/distributed-system)](https://goreportcard.com/report/github.com/andrewlee302/distributed-system)\n[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n[![GoDoc](https://godoc.org/github.com/andrewlee302/distributed-system?status.svg)](https://godoc.org/github.com/andrewlee302/distributed-system)\n\nThe fantastic experiment for education on distributed system, including\nthe ubiquitous communication over the Web, classic techniques for scaling and\nefficient storage and a popular application case, aims to incredibly capture the \nessences of the difficult but useful distributed system theory, such \nas the two-phase protocol and the paxos consensus protocol. It covers the\ncommon technique issues almost in all the distributed systems, including \ncommunication, data consistency, parallism, concurrence, replication. The \ntechniques take attentions on the performance, fault-tolerance, scaling and\nuser-friendliness, which are important metrics for distributed systems.\n\n## Modules or library\n\n1. HTTP library over TCP and Unix domain socket\n2. 2PC library.\n3. Tiny key-value storage module.\n4. Transcation-supported shopping web service module over the sharded \nkey-value storage.\n5. Paxos library.\n6. Key-value storage module over paxos.\n7. Utility for the resouce pool.\n7. A final system, including web service, sharded and replicated key-value \nstorage.\n\n## Testing\nEvery package has its unit test for functions and performance. (TODO) The final \nsystem will be tested in a container-style way.\n\n## Tips for students\n1. \"// You may add code here\". Not necessary, but you can do it.\n2. \"// TODO Your code here\". Necessary.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewlee302%2Fdistributed-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewlee302%2Fdistributed-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewlee302%2Fdistributed-system/lists"}