Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TypicalDefender/inmem-loadbalancer
⚡️ Blazing Fast, Super Simple, Single Node load balancer written in Go
https://github.com/TypicalDefender/inmem-loadbalancer
Last synced: 11 days ago
JSON representation
⚡️ Blazing Fast, Super Simple, Single Node load balancer written in Go
- Host: GitHub
- URL: https://github.com/TypicalDefender/inmem-loadbalancer
- Owner: TypicalDefender
- Created: 2022-03-30T04:56:43.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-03-30T05:06:16.000Z (over 2 years ago)
- Last Synced: 2024-08-02T05:12:24.336Z (3 months ago)
- Language: Go
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-blazingly-fast - inmem-loadbalancer - ⚡️ Blazing Fast, Super Simple, Single Node load balancer written in Go (Go)
README
In-Memory Experimental Load Balancer
===⚡️ Blazing Fast, Super Simple, Single Node load balancer written in Go
```
go run .
```### Tasklist
[x] Basic working LB with pre-configured backend
[ ] Benchmark performance against NGINX and other LBs
[x] Ability to add register a new backend on the fly
[ ] `stats` command to output stats per backend server. Stats could include number of requests, average time taken, etc.
[x] Pluggable algorithm for load balancing: Round Robin, Consistent Hasshing, etc.
[ ] Export LB metrics and visualize it through Grafana.
[ ] Connection Pooling
[ ] If protocol/scheme specific then identify response status/codes and dump it into metrics
[ ] Ability to healthcheck and stop/start routing traffic to heaalthy ones
[x] Consistent Hashing for load balancing
[x] Unique ID to request
[x] Simulate Balancing Strategy by giving request id
[x] Topology per strategy
[ ] Handle backend becoming unhealthy for all balancing strategy