{"id":20405817,"url":"https://github.com/aryak0512/custom-load-balancer","last_synced_at":"2026-06-11T09:31:39.628Z","repository":{"id":205568302,"uuid":"714553474","full_name":"aryak0512/custom-load-balancer","owner":"aryak0512","description":"This is a custom load balancer written in Java using Socket API. The LB uses round robin algorithm","archived":false,"fork":false,"pushed_at":"2023-11-05T09:22:34.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T02:18:33.985Z","etag":null,"topics":["elastic-load-balancing","java-8","load-balancer","round-robin","scheduling-algorithms","socket-programming"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aryak0512.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}},"created_at":"2023-11-05T07:36:42.000Z","updated_at":"2023-11-05T07:46:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"95a1c436-af11-418d-b513-8cbf9498a606","html_url":"https://github.com/aryak0512/custom-load-balancer","commit_stats":null,"previous_names":["aryak0512/custom-load-balancer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aryak0512/custom-load-balancer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fcustom-load-balancer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fcustom-load-balancer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fcustom-load-balancer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fcustom-load-balancer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aryak0512","download_url":"https://codeload.github.com/aryak0512/custom-load-balancer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fcustom-load-balancer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34192870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"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":["elastic-load-balancing","java-8","load-balancer","round-robin","scheduling-algorithms","socket-programming"],"created_at":"2024-11-15T05:13:23.020Z","updated_at":"2026-06-11T09:31:39.602Z","avatar_url":"https://github.com/aryak0512.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Custom Load Balancer\n\nThis is a pure Java implementation of a multithreaded Custom Load Balancer written by me from scratch which can serve 10 concurrent requests. The LB uses socket programming Java API \u0026 operates on the Round Robin algoritms by using a daemon thread that makes health checks using HTTP calls to instances on a fixed interval\n\n## Demo\n\nhttps://github.com/aryak0512/socket-programming/assets/57310005/75916e0b-bf57-42f8-8a42-6ead2c697315\n## Run Locally\n\nClone the project\n\n```bash\n  git clone https://github.com/aryak0512/socket-programming.git\n```\n\nGo to the project directory\n\n```bash\n  cd socket-programming\n```\n\nInstall JDK 11\n\nStart the server. Right click -\u003e Server.java -\u003e Run as Java Application. Server is ready to accept requests on port 7200.\n\n\n## Deployment\n\nTo build this project run\n\n```bash\n  java -jar webserver.jar\n```\n\n## Load tests\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003cbody\u003e\n\n\u003ch2\u003eConcurreny Test results\u003c/h2\u003e\n\n\u003cpre\u003eThis is ApacheBench, Version 2.3 \u0026lt;$Revision: 1879490 $\u0026gt;\nCopyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/\nLicensed to The Apache Software Foundation, http://www.apache.org/\n\nBenchmarking localhost (be patient).....done\n\n\nServer Software:        \nServer Hostname:        localhost\nServer Port:            7200\n\nDocument Path:          /signup\nDocument Length:        0 bytes\n\nConcurrency Level:      10\nTime taken for tests:   0.003 seconds\nComplete requests:      10\nFailed requests:        0\nTotal transferred:      7210 bytes\nHTML transferred:       0 bytes\nRequests per second:    3644.31 [#/sec] (mean)\nTime per request:       2.744 [ms] (mean)\nTime per request:       0.274 [ms] (mean, across all concurrent requests)\nTransfer rate:          2565.97 [Kbytes/sec] received\n\nConnection Times (ms)\n              min  mean[+/-sd] median   max\nConnect:        0    1   0.3      1       1\nProcessing:     0    1   0.2      1       1\nWaiting:        0    0   0.3      0       1\nTotal:          1    1   0.2      1       2\n\nPercentage of the requests served within a certain time (ms)\n  50%      1\n  66%      1\n  75%      1\n  80%      2\n  90%      2\n  95%      2\n  98%      2\n  99%      2\n 100%      2 (longest request)\u003c/pre\u003e\n\n\n\n\u003c/body\u003e\n\u003c/html\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryak0512%2Fcustom-load-balancer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faryak0512%2Fcustom-load-balancer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryak0512%2Fcustom-load-balancer/lists"}