https://github.com/phuhao00/netcore-go
NetCore-Go 是一个功能丰富、高性能的 Go 语言网络库,提供了完整的网络编程解决方案,包括 TCP/UDP 服务器、WebSocket、HTTP 服务器、RPC、gRPC、KCP 协议支持,以及服务发现、负载均衡、配置管理、日志系统和监控指标等企业级功能。
https://github.com/phuhao00/netcore-go
golang http kcptun load-balancer longpoll rpc tcp-socket udp-socket websocket
Last synced: 4 months ago
JSON representation
NetCore-Go 是一个功能丰富、高性能的 Go 语言网络库,提供了完整的网络编程解决方案,包括 TCP/UDP 服务器、WebSocket、HTTP 服务器、RPC、gRPC、KCP 协议支持,以及服务发现、负载均衡、配置管理、日志系统和监控指标等企业级功能。
- Host: GitHub
- URL: https://github.com/phuhao00/netcore-go
- Owner: phuhao00
- License: other
- Created: 2025-09-06T06:51:00.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-09-13T02:37:41.000Z (5 months ago)
- Last Synced: 2025-09-18T15:55:56.058Z (4 months ago)
- Topics: golang, http, kcptun, load-balancer, longpoll, rpc, tcp-socket, udp-socket, websocket
- Language: Go
- Homepage:
- Size: 918 KB
- Stars: 26
- Watchers: 0
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌐 NetCore-Go
**高性能Go网络库 | 多协议支持 | 企业级网络解决方案**
[](https://golang.org)
[](https://github.com/phuhao00/netcore-go/releases/tag/v1.0.1)
[](LICENSE)
[](#)
[](#)
[](#)
[](#)
**支持协议:HTTP/1.1/2/3 • gRPC • WebSocket • TCP • UDP • KCP • Long Polling**
## 🌐 协议支持
NetCore-Go 是一个专业的Go网络库,提供完整的网络协议栈支持:
### 🌍 HTTP协议栈
| 协议 | 特性 | 性能 |
|------|------|------|
| **HTTP/1.1** | 持久连接、管道化、分块传输 | 50k+ QPS |
| **HTTP/2** | 多路复用、服务器推送、头部压缩 | 80k+ QPS |
| **HTTP/3** | QUIC传输、0-RTT连接、内置加密 | 100k+ QPS |
### 🔗 RPC协议
| 协议 | 特性 | 应用场景 |
|------|------|----------|
| **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
### ⚡ 安装
```bash
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站专栏
[](https://www.bilibili.com/opus/1111923984504455171)
🎯 **欢迎访问我的B站专栏进行技术讨论和交流**
- 💡 分享NetCore-Go使用经验
- 🔧 讨论网络编程最佳实践
- 🤝 与其他开发者交流心得
[👉 点击进入专栏讨论](https://www.bilibili.com/opus/1111923984504455171)
## ☕ 赞助支持
*💝 感谢每一位支持者的贡献,让NetCore-Go变得更好!*
如果这个项目对您有帮助,欢迎请作者喝一杯咖啡!您的支持是我们持续改进的动力。
