Zero downtime API in Golang

  1. We can take an advantage of socket options namely SO_REUSEPORT. In Golang we can set options to our listener (as can be seen in the following code example), with these options we can start multiple web servers that use the same port.
  2. When we start a new process in Golang, you can specify file descriptors that can be inherited. We can share our opened socket with our child so our child can start where we left off.

--

--

--

System Engineer & Master student of Distribured systems

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Going serverless with AWS S3 and CloudFlare

You can be a software developer too

Triggering Notifications on CDP Status Changes with Flow

Ropes tying together.

Secret Rotation with HashiCorp Vault on AKS

Lazy Horse Race Club Roadmap

Senior DevOps Engineer

Senior DevOps Engineer

Getting Started With DevOps, Part 2

Reagent component from scratch: Definition Table

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Daniel Sedlak

Daniel Sedlak

System Engineer & Master student of Distribured systems

More from Medium

Golang — Utility functions you always missed

Small set of utility functions in Golang

Saving Memory In Golang By Composing Struct Correctly

How to Speed Up Your Struct in Golang

Creational Design Patterns in Golang