seamless is a TCP proxy that allow you to deploy new code then switch traffic to new backend without downtime.
Switching backends is done with HTTP interface (on a different port) with the following API:
- switch traffic to new backend
- return (in plain text) current server
Start first backend at port 4444
seamless 8080 localhost:4444
Direct all traffic to port 8080 on local machine.
When you need to upgrade the backend, start a new one (with new code on a different port, say 4445). Then:
(Note that management port is different from the one we proxy).
You can download a statically linked executable at the downloads section.
Or if you have a Go development environment, you can
go get bitbucket.org/tebeka/seamless