Как работает graceful restart с socket inheritance?

Senior
77 просмотров
AFK Offer AI

Процесс передаёт listening socket дочернему процессу через file descriptor inheritance (ExtraFiles в exec.Cmd). Дочерний процесс начинает принимать новые соединения, а родительский дообслуживает старые и завершается. В Go можно получить listener из fd: net.FileListener(os.NewFile(fd, "")). Библиотеки: tableflip, grace. Это позволяет обновить бинарник без потери ни одного запроса — zero-downtime deploy.

Следующий вопрос

Что такое pessimistic lock для товара?