5 ms·
How do you release a new version of your service/app? Do you aim to do zero-downtime deployments? If so, how? The biggest issue I find is that doing zero downt
by dakiol 2y ago
How do you release a new version of your service/app? Do you aim to do zero-downtime deployments? If so, how?
The biggest issue I find is that doing zero downtime deployments on the same machine/server is a bit pita because of the port used by the service (cannot have a canary and a primary service running at the same time on the same port)
- llmblockchain 2y agoHonestly, I don't aim for zero downtime deploys. I simply don't care if I have a few seconds of possible service interruption during a deploy. If I did, I'd keep it simple. I use Nginx in front of the Go server. I'd likely use the Nginx server as a load balancer and replace each Go service one at a time to have no downtime. It doesn't matter how many ports you use as long as Nginx knows the port range. It will distribute the incoming requests to the Go processes. edit: For those wondering why I use Nginx. It's where I terminate SSL and I also use it for simple gzip/compression/caching for outgoing resources. I don't use Caddy or anything else. I've used Nginx for many years and it just... works.