NetCore-Go 是一个专业的Go网络库,提供完整的网络协议栈支持:
协议 |
特性 |
性能 |
HTTP/1.1 |
持久连接、管道化、分块传输 |
50k+ QPS |
HTTP/2 |
多路复用、服务器推送、头部压缩 |
80k+ QPS |
HTTP/3 |
QUIC传输、0-RTT连接、内置加密 |
100k+ QPS |
协议 |
特性 |
应用场景 |
gRPC |
双向流式传输、负载均衡、认证授权 |
微服务通信 |
自定义RPC |
二进制编码、零拷贝优化、连接池 |
高性能内部调用 |
|
协议 |
特性 |
延迟 |
WebSocket |
全双工通信、心跳检测、自动重连 |
< 1ms |
Long Polling |
HTTP长连接、超时控制、自动降级 |
< 5ms |
协议 |
特性 |
吞吐量 |
TCP |
可靠传输、连接复用、流量控制 |
1GB/s+ |
UDP |
无连接传输、组播支持、低延迟 |
10GB/s+ |
KCP |
可靠UDP、快速重传、游戏优化 |
5GB/s+ |
|
模块 |
功能 |
特性 |
core |
网络抽象层 |
统一接口、事件驱动、连接管理 |
http/http2/http3 |
HTTP协议实现 |
完整协议栈、自动协商、性能优化 |
grpc |
gRPC服务器/客户端 |
流式传输、负载均衡、拦截器 |
websocket |
WebSocket实现 |
双向通信、心跳检测、消息路由 |
tcp/udp |
原生协议支持 |
高性能传输、连接池、零拷贝 |
kcp |
KCP协议实现 |
可靠UDP、快速重传、拥塞控制 |
rpc |
自定义RPC框架 |
二进制协议、编解码器、注册中心 |
pool |
连接池管理 |
智能扩缩、健康检查、负载均衡 |
loadbalancer |
负载均衡器 |
多种算法、权重分配、故障转移 |
protocol |
协议协商 |
自动检测、版本兼容、降级策略 |
模块 |
功能 |
支持协议 |
security |
认证授权 |
JWT、OAuth2、RBAC、API密钥 |
tls |
传输加密 |
TLS 1.2/1.3、证书管理、自动轮换 |
audit |
安全审计 |
访问日志、行为分析、合规报告 |
ddos |
攻击防护 |
智能限流、IP黑名单、流量分析 |
模块 |
功能 |
集成 |
metrics |
性能指标 |
Prometheus、Grafana、自定义指标 |
tracing |
链路追踪 |
Jaeger、Zipkin、OpenTelemetry |
health |
健康检查 |
K8s Probe、自定义检查、服务发现 |
logger |
日志系统 |
结构化日志、轮转压缩、采样控制 |
alert |
告警系统 |
智能告警、多渠道通知、自动恢复 |
模块 |
功能 |
特性 |
middleware |
中间件管理 |
链式调用、热插拔、配置驱动 |
jwt |
JWT认证 |
令牌验证、权限控制、自动续期 |
ratelimit |
限流控制 |
令牌桶、滑动窗口、分布式限流 |
circuitbreaker |
熔断器 |
快速失败、自动恢复、状态监控 |
cache |
缓存中间件 |
内存缓存、Redis集成、缓存策略 |
openapi |
API文档 |
Swagger UI、参数验证、代码生成 |
模块 |
功能 |
支持 |
database |
数据库抽象 |
PostgreSQL、MySQL、MongoDB、Redis |
pool |
连接池 |
智能扩缩、事务管理、读写分离 |
queue |
消息队列 |
内存队列、Redis队列、生产者消费者 |
模块 |
功能 |
特性 |
discovery |
服务发现 |
Consul、etcd、Kubernetes、ServiceMesh |
graceful |
优雅关闭 |
信号处理、连接排空、资源清理 |
performance |
性能优化 |
零拷贝、内存管理、协程池 |
testing |
测试框架 |
单元测试、集成测试、负载测试 |
- Go 1.21+
- 支持的操作系统:Linux, macOS, Windows
go get github.com/phuhao00/netcore-go@v1.0.1
项目提供了丰富的示例程序,帮助您快速上手:
示例 |
功能 |
位置 |
HTTP服务器 |
HTTP/1.1服务器实现 |
examples/http/server/ |
TCP服务器/客户端 |
TCP通信示例 |
examples/tcp/server/ , examples/tcp/client/ |
UDP服务器/客户端 |
UDP通信示例 |
examples/udp/server/ , examples/udp/client/ |
WebSocket服务器 |
WebSocket实时通信 |
examples/websocket/ |
gRPC服务器/客户端 |
gRPC微服务通信 |
examples/grpc/server/ , examples/grpc/client/ |
KCP服务器/客户端 |
KCP可靠UDP传输 |
examples/kcp/server/ , examples/kcp/client/ |
RPC服务器/客户端 |
自定义RPC框架 |
examples/rpc/server/ , examples/rpc/client/ |
示例 |
功能 |
位置 |
负载均衡器 |
多种负载均衡算法 |
examples/loadbalancer/ |
游戏服务器 |
实时游戏服务器 |
examples/gameserver/ |
聊天室 |
多人聊天应用 |
examples/chatroom/ |
网关服务 |
API网关实现 |
examples/gateway/ |
高级服务器 |
企业级服务器配置 |
examples/advanced/ |
HTTP/3服务器 |
HTTP/3协议支持 |
examples/http3/ |

🎯 欢迎访问我的B站专栏进行技术讨论和交流
- 💡 分享NetCore-Go使用经验
- 🔧 讨论网络编程最佳实践
- 🤝 与其他开发者交流心得
👉 点击进入专栏讨论
💝 感谢每一位支持者的贡献,让NetCore-Go变得更好!
如果这个项目对您有帮助,欢迎请作者喝一杯咖啡!您的支持是我们持续改进的动力。
