Fast, load-balancing, front-end proxy for microservices
Typhos aims to be a fast, lightweight HTTP proxy. It aims to provide two primary features:
-
Route HTTP requests to the right server
-
Provide load balancing
The problem with normal reverse-proxy setups is that it's difficult or impossible to implement load balancing on a per-server basis.
The problem with load balancers is that they usually don't do routing.
So Typhos was born.
Typhos is almost entirely configured via a simple HTTP based API. This allows configuration to be changed without restarting the server. This is useful in environments where services are provisioned and shut down dynamically.
Returns a list of all active paths and servers
Adds a server to the proxy. If the routing path does not exist it will be created.
Same as /add but checks for duplicates.
Removes a server from a routing path.
-
What's with the name?
I wanted to call it Hydra because it handles lots of connections (you know, many heads) but there are already several projects that use that name. Googling around for "many headed monster" I found Typhon - Hydra's father. But there is already a project on npm called Typhon. So Typhos, which is an alternate name/spelling for Typhon.
-
What's with the logo?
Snake heads - Typhos has hundreds of snake heads. Also it's abstract enough to not look like snake heads which is good because I have a phobia of snakes.