{"id":16976176,"url":"https://github.com/jdmaturen/cannon","last_synced_at":"2026-05-13T23:31:42.260Z","repository":{"id":6362897,"uuid":"7600078","full_name":"jdmaturen/cannon","owner":"jdmaturen","description":"A distributed systems failure modeling tool. ","archived":false,"fork":false,"pushed_at":"2013-01-14T07:53:23.000Z","size":120,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-27T00:45:36.070Z","etag":null,"topics":["cannon","distributed-systems","java","testing"],"latest_commit_sha":null,"homepage":"","language":"Java","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/jdmaturen.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}},"created_at":"2013-01-14T07:19:24.000Z","updated_at":"2024-04-17T06:21:54.000Z","dependencies_parsed_at":"2022-09-13T00:14:31.620Z","dependency_job_id":null,"html_url":"https://github.com/jdmaturen/cannon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jdmaturen/cannon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmaturen%2Fcannon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmaturen%2Fcannon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmaturen%2Fcannon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmaturen%2Fcannon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdmaturen","download_url":"https://codeload.github.com/jdmaturen/cannon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdmaturen%2Fcannon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33004132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cannon","distributed-systems","java","testing"],"created_at":"2024-10-14T01:25:11.850Z","updated_at":"2026-05-13T23:31:42.245Z","avatar_url":"https://github.com/jdmaturen.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Cannon\n======\n\nCannon is a distributed systems failure modeling tool. What happens when one node in your Dynamo system becomes\npartially available? Or if your MySQL slave suddenly starts serving reads 10x slower? What strategies are ideal for\nhandling with these partial failure modes? Cannon aims to provide some level of insight into these tricky situations.\n\n\nRunning\n-------\n\n    mvn package\n    java -cp target/cannon-0.1-SNAPSHOT.jar com.idlerice.cannon.Cannon \u003cstrategy\u003e\n\nWhere strategy is one of \"random\", where client requests are sent to a random server, or \"affinity\", where a given \nthread has a long term affinity to a given server.\n\nPresently Cannon demonstrates one server in a three server cluster that periodically freaks out and slows down by 10x. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdmaturen%2Fcannon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdmaturen%2Fcannon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdmaturen%2Fcannon/lists"}