Top 23 Go Networking Projects
-
fasthttp
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
fasthttp
-
kcptun
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。
-
cilium
eBPF-based Networking, Security, and Observability
cilium/cilium (Go): eBPF-based Networking, Security, and Observability
-
dns
DNS library in Go
-
httpstat
It's like curl -v, with colours.
-
quic-go
A QUIC implementation in pure go
lucas-clemente/quic-go (Go): A QUIC implementation in pure go
-
gopacket
Provides packet processing capabilities for Go
-
HTTPLab
The interactive web server
-
gnet
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
-
cni
Container Network Interface - networking for Linux containers
CNI (Container Networking Interface) is a standard which helps establish interoperability between multiple networking solutions again avoiding the need to have in-tree plugins within the core and separating container networking and execution. There are a lot of plugins and runtimes which support CNI today.
-
kcp-go
A Crypto-Secure, Production-Grade Reliable-UDP Library for golang with FEC
-
emitter-io
High performance, distributed and low latency publish-subscribe platform.
-
kubefwd
Bulk port forwarding Kubernetes services for local development.
Latest mention: kubefwd tool to bulk port forwarding #Kubernetes services for local development. | reddit.com/r/kubernetes | 2021-01-13For anyone that doesn't want to open youtube for the link to github: https://github.com/txn2/kubefwd
-
gobgp
BGP implemented in the Go Programming Language
-
ssh
Easy SSH servers in Golang
-
heimdall
An enhanced HTTP client for Go
-
fortio
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.
-
nano
Lightweight, facility, high performance golang based game server framework
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 [0] 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.
-
gobetween
:cloud: Modern & minimalistic load balancer for the Сloud era
-
mqttPaho
-
water
A simple TUN/TAP library written in native Go.
-
go-getter
Package for downloading things from a string URL using a variety of protocols.
-
NFF-Go
NFF-Go -Network Function Framework for GO (former YANFF)
Index
What are some of the best open-source Networking projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | fasthttp | 14,285 |
2 | kcptun | 12,267 |
3 | cilium | 7,333 |
4 | dns | 5,136 |
5 | httpstat | 4,940 |
6 | quic-go | 4,824 |
7 | gopacket | 3,887 |
8 | HTTPLab | 3,646 |
9 | gnet | 3,553 |
10 | cni | 3,184 |
11 | kcp-go | 2,849 |
12 | emitter-io | 2,706 |
13 | kubefwd | 2,221 |
14 | gobgp | 2,125 |
15 | ssh | 1,835 |
16 | heimdall | 1,738 |
17 | fortio | 1,723 |
18 | nano | 1,558 |
19 | gobetween | 1,500 |
20 | mqttPaho | 1,489 |
21 | water | 1,165 |
22 | go-getter | 1,078 |
23 | NFF-Go | 1,026 |