go-reuseport
reuse tcp/udp ports in golang (by libp2p)
httpx
Provides an extended, production-ready HTTP server. (by bojanz)
Our great sponsors
go-reuseport | httpx | |
---|---|---|
1 | 2 | |
733 | 91 | |
2.6% | - | |
5.0 | 0.0 | |
about 1 month ago | over 3 years ago | |
Go | Go | |
ISC License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-reuseport
Posts with mentions or reviews of go-reuseport.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-22.
-
The Simplicity of Single-File Golang Deployments
Can't help with how to implement this, but just to be sure: You should be able to use the same port in multiple instances if you bind those with SO_REUSEPORT. A quick search points to https://github.com/libp2p/go-reuseport for an implementation. Now you just need a mechanism to drain the old process.
httpx
Posts with mentions or reviews of httpx.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-22.
-
The Simplicity of Single-File Golang Deployments
Socket activation via systemd[0] is an option, assuming you are fine with certain requests taking a while (if they arrive while the service is being restarted).
- https://github.com/bojanz/httpx#systemd-setup
-
Zero downtime API in Golang
I have an example at https://github.com/bojanz/httpx as well as links to some previous community resurces: https://www.darkcoding.net/software/systemd-socket-activation-in-go/ https://vincent.bernat.ch/en/blog/2018-systemd-golang-socket-activation
What are some alternatives?
When comparing go-reuseport and httpx you can also consider the following projects:
debug - Fork of pkg/debug that adds some additional functionality.
bearclaw - tiny static site generator w/ rss
release.sh - 🚀 A simple bash script for building Go projects for multiple platforms 💻💾
tableflip - Graceful process restarts in Go
executable-dist-plugin - A Gradle plugin which makes distribution zips runnable, as a sort of alternative to an uberjar. A London Beach production :guardsman::palm_tree:.
Quarkus - Quarkus: Supersonic Subatomic Java.
purego