Top 23 Go Networking Projects
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/httpProject mention: Best Web Frameworks of Golang in 2021 | reddit.com/r/golang | 2021-06-18
It uses fasthttp as its router. Fasthttp does not implement http2 https://github.com/valyala/fasthttp/issues/144
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。Project mention: Looking for lowest-latency WebSocket server/library | reddit.com/r/golang | 2021-05-08
Run Linux Software Faster and Safer than Linux with Unikernels.
eBPF-based Networking, Security, and ObservabilityProject mention: Gopher Gold #20 - Wed Nov 18 2020 | dev.to | 2020-11-17
cilium/cilium (Go): eBPF-based Networking, Security, and Observability
DNS library in GoProject mention: DNS Library in Go | news.ycombinator.com | 2021-04-30
A QUIC implementation in pure goProject mention: Syncthing v1.17.0 released with massively improved QUIC performance | reddit.com/r/Syncthing | 2021-06-01
One of the final drafts of IETF QUIC. They use https://github.com/lucas-clemente/quic-go
It's like curl -v, with colours.
Fast event-loop networking for GoProject mention: Goroutines Are Not Significantly Lighter Than Threads | news.ycombinator.com | 2021-03-12
Scout APM - Leading-edge performance monitoring starting at $39/month. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
Provides packet processing capabilities for Go
The interactive web server
Container Network Interface - networking for Linux containersProject mention: The Sisyphean Task of DNS Client Config on Linux | news.ycombinator.com | 2021-04-15
A Crypto-Secure, Production-Grade Reliable-UDP Library for golang with FECProject mention: Open-source game server for fast-paced games | reddit.com/r/gamedev | 2021-03-24
I used kcp-go. The server includes two parts, Mothership and child server. After the mothership server matchmaking system finds a game it will pass those users to the child server.
High performance, distributed and low latency publish-subscribe platform.
Bulk port forwarding Kubernetes services for local development.Project mention: Using Telepresence 2 for Kubernetes debugging and local development | dev.to | 2021-04-15
Kubefwd works similar to Telepresence by making your local environment think it is inside the cluster. The networking tunnel is one direction only. Telepresence is much smarter as it also makes the other cluster applications think that your local app is inside the same cluster. So with Kubefwd you only get 50% of what basic Telepresence offers. Telepresence also has volume mounting support for more advanced scenarios.
BGP implemented in the Go Programming Language
🐻 The Universal Service Mesh. CNCF Sandbox Project.Project mention: How I Stopped Coding Repetitive Service Components with Kong | dev.to | 2021-05-18
Taking things to a broader level, Kuma is another platform agnostic-OSS solution for service mesh and microservice management – with control plane support of Kubernetes, virtual machines (VM), and even bare-metal environments. Kuma was donated to the Cloud Native Computing Foundation (CNCF) by Kong and still actively contributes to the evolving code base.
Easy SSH servers in Golang
An enhanced HTTP client for Go (by gojek)Project mention: Can you share some Go package that you think has high quality clean code? | reddit.com/r/golang | 2021-04-13
Heimdall HTTP Client
Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.
Lightweight, facility, high performance golang based game server frameworkProject mention: New ‘Action Roguelike’ C++ Project on GitHub | news.ycombinator.com | 2021-01-16
Couldn't you use just a vanilla Golang (or any other language) microservice for all of this? If you know what you are doing you can have a bulletproof basic service with all of the above up and running in no time, just add your game logic. Most of your requirements are part and parcel of any modern commercial Docker microservice. Never mind that such frameworks already exist, e.g. nano  specifically designed for games.
Scalability is also not an issue. Number of simultaneous players and objects is limited by bandwidth and latency only. There are certainly no barriers to handling multi-million entity databases on any modern server. You're really only limited by how much data you can push out to your users within an update tick. And of course by how much money you're willing to pay for back end compute capacity on an ongoing basis. But those costs are very low these days, especially if you have dedicated servers rather then AWS/Google/Azure.
I think perhaps the issue is not so much that frameworks don't exist, but rather that no single framework has achieved popularity in the game design community. The indie crowd is not likely to want to, or afford to, run servers for years and years, so the demand is not there. The triple-A studios roll their own.
Project mention: Are websockets right for this? | reddit.com/r/golang | 2021-04-27
I suggest PubSub with queue persistence, so https://github.com/eclipse/paho.mqtt.golang with https://mosquitto.org/ as broker. Mosquitto also supports websockets interface and can be run over TLS.
:cloud: Modern & minimalistic load balancer for the Сloud eraProject mention: What is a Service Mesh - youtube by HashiCorp using Consul | reddit.com/r/LXD | 2021-02-18
Hubble - Network, Service & Security Observability for Kubernetes using eBPFProject mention: Kubernetes cluster diagram | reddit.com/r/devops | 2021-02-06
CNI plugins like Cilium
What are some of the best open-source Networking projects in Go? This list will help you: