高性能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变得更好!
如果这个项目对您有帮助,欢迎请作者喝一杯咖啡!您的支持是我们持续改进的动力。
