高性能Go网络库 | 多协议支持 | 企业级网络解决方案
支持协议:HTTP/1.1/2/3 • gRPC • WebSocket • TCP • UDP • KCP • Long Polling
NetCore-Go 是一个专业的Go网络库,提供完整的网络协议栈支持:
|
|
模块 | 功能 | 特性 |
---|---|---|
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变得更好!
如果这个项目对您有帮助,欢迎请作者喝一杯咖啡!您的支持是我们持续改进的动力。