{"id":31588636,"url":"https://github.com/nezteb/gossip_glomers_beam","last_synced_at":"2025-10-06T02:12:10.359Z","repository":{"id":311710296,"uuid":"1040242621","full_name":"Nezteb/gossip_glomers_beam","owner":"Nezteb","description":"Implementations of Fly.io's \"Gossip Glomers\" distributed systems challenges using Elixir.","archived":false,"fork":false,"pushed_at":"2025-09-14T20:49:13.000Z","size":34,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-26T14:51:26.443Z","etag":null,"topics":["distributed-systems","elixir"],"latest_commit_sha":null,"homepage":"https://fly.io/blog/gossip-glomers/","language":"Elixir","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/Nezteb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-18T17:09:35.000Z","updated_at":"2025-09-14T19:53:18.000Z","dependencies_parsed_at":"2025-08-26T05:50:34.105Z","dependency_job_id":"ece76177-ceee-4169-b901-85fdad4f79e2","html_url":"https://github.com/Nezteb/gossip_glomers_beam","commit_stats":null,"previous_names":["nezteb/gossip_glommers_beam","nezteb/gossip_glomers_beam"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nezteb/gossip_glomers_beam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nezteb%2Fgossip_glomers_beam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nezteb%2Fgossip_glomers_beam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nezteb%2Fgossip_glomers_beam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nezteb%2Fgossip_glomers_beam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nezteb","download_url":"https://codeload.github.com/Nezteb/gossip_glomers_beam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nezteb%2Fgossip_glomers_beam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547821,"owners_count":26004775,"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-10-06T02:00:05.630Z","response_time":65,"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":["distributed-systems","elixir"],"created_at":"2025-10-06T02:11:48.448Z","updated_at":"2025-10-06T02:12:10.346Z","avatar_url":"https://github.com/Nezteb.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gossip Glomers BEAM (Elixir, Gleam)\n\nMain page: https://fly.io/dist-sys/\n\nMaelstrom docs: https://github.com/jepsen-io/maelstrom\n\n## Elixir\n\n1. [X] Echo (`echo`)\n    - https://fly.io/dist-sys/1/\n2. [X] Unique ID Generation (`unique-ids`)\n    - https://fly.io/dist-sys/2/\n3. [X] Broadcast (`broadcast`)\n    - https://fly.io/dist-sys/3a/\n    - https://fly.io/dist-sys/3b/\n    - https://fly.io/dist-sys/3c/\n    - https://fly.io/dist-sys/3d/\n    - https://fly.io/dist-sys/3e/\n4. [X] Grow-Only Counter (`g-counter`)\n    - https://fly.io/dist-sys/4/\n5. [X] Kafka-Style Log (`kafka`)\n    - https://fly.io/dist-sys/5a/\n    - https://fly.io/dist-sys/5b/\n    - https://fly.io/dist-sys/5c/\n6. [X] Totally-Available... (`txn-rw-register`)\n    - https://fly.io/dist-sys/6a/\n    - https://fly.io/dist-sys/6b/\n    - https://fly.io/dist-sys/6c/\n\nExtras? Not listed on Fly.io Gossip Glomers, but exist within Maelstrom:\n- Datomic (`txn-list-append`)\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/05-datomic/01-single-node.md\n        ```\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 1\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 30 --node-count 1 --concurrency 10n --rate 100\n        ```\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/05-datomic/02-shared-state.md\n        ```\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 100\n        ```\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/05-datomic/03-persistent-trees.md\n        ```\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 100\n        ```\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/05-datomic/04-optimization.md\n        ```\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 1\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 100\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 10\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 100\n        ./maelstrom test -w txn-list-append --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 100 --consistency-models serializable\n        ```\n- Raft (`lin-kv`)\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/06-raft/01-key-value.md\n        ```\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --rate 10 --node-count 1 --concurrency 2n\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --node-count 2 --rate 10 --concurrency 2n\n        ```\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/06-raft/02-leader-election.md\n        ```\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --node-count 3 --concurrency 2n --rate 10\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --node-count 3 --concurrency 2n\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --node-count 3 --concurrency 2n\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --node-count 3 --concurrency 2n --rate 0\n        ```\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/06-raft/03-replication.md\n        ```\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --node-count 3 --concurrency 2n --rate 5\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 60 --node-count 3 --concurrency 2n --rate 1 --nemesis partition\n        ```\n    - [ ] https://github.com/jepsen-io/maelstrom/blob/main/doc/06-raft/04-committing.md\n        ```\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 60 --node-count 3 --concurrency 10n --rate 100 --nemesis partition --nemesis-interval 3 --test-count 5\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 10 --node-count 3 --concurrency 2n --rate 100\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --time-limit 30 --node-count 3 --concurrency 2n --rate 1 --nemesis partition --nemesis-interval 10\n        ./maelstrom test -w lin-kv --bin EXECUTABLE --node-count 3 --concurrency 4n --rate 30 --time-limit 60 --nemesis partition --nemesis-interval 10 --test-count 10\n        ```\n\n## Gleam\n\nTBD!\n\n## Miscellaneous Links\n\n- https://notes.eatonphil.com/2025-08-09-what-even-is-distributed-systems.html\n- https://transactional.blog/blog/2024-data-replication-design-spectrum\n- https://transactional.blog/talk/enough-with-all-the-raft\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnezteb%2Fgossip_glomers_beam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnezteb%2Fgossip_glomers_beam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnezteb%2Fgossip_glomers_beam/lists"}