欢迎使用 Cyaim.WebSocketServer 文档中心。本文档提供了完整的库使用指南,按模块组织,帮助您快速了解和使用各个功能。
- 集群模块 - 多节点集群、Raft 协议、消息路由
- 集群传输扩展 - Redis、RabbitMQ 传输实现
- Hybrid 混合集群传输 - Redis + RabbitMQ 混合传输方案
- 指标统计 - OpenTelemetry 集成、性能监控
- Dashboard - 监控面板、API 接口、前端界面
- 客户端 SDK - 多语言客户端 SDK,支持自动 endpoint 发现
- 阅读 集群模块 了解集群架构
- 选择传输方式:WebSocket、Redis、RabbitMQ 或 Hybrid
- 查看 集群传输扩展 了解扩展包
- 如需自动发现和负载均衡,查看 Hybrid 混合集群传输
- 阅读 客户端 SDK 了解可用的客户端 SDK
- 选择您偏好的语言(C#、TypeScript、Rust、Java、Dart、Python)
- 按照对应语言的快速开始指南
Cyaim.WebSocketServer/
├── Cyaim.WebSocketServer/ # 核心库
│ ├── Infrastructure/
│ │ ├── Cluster/ # 集群功能
│ │ ├── Handlers/ # 处理器
│ │ ├── Configures/ # 配置
│ │ └── Metrics/ # 指标统计
│ ├── Middlewares/ # 中间件
│ └── ...
├── Cyaim.WebSocketServer.Dashboard/ # Dashboard 后端
├── Cyaim.WebSocketServer.Cluster.*/ # 集群传输扩展
├── Clients/ # 多语言客户端 SDK
│ ├── Cyaim.WebSocketServer.Client/ # C# 客户端
│ ├── cyaim-websocket-client-js/ # TypeScript/JavaScript 客户端
│ ├── cyaim-websocket-client-rs/ # Rust 客户端
│ ├── cyaim-websocket-client-java/ # Java 客户端
│ ├── cyaim-websocket-client-dart/ # Dart 客户端
│ └── cyaim-websocket-client-python/ # Python 客户端
├── Sample/ # 示例项目
└── docs/ # 文档目录
├── en/ # 英文文档
└── zh-cn/ # 中文文档
- ✅ 轻量级高性能 - 基于 ASP.NET Core,性能优异
- ✅ 路由系统 - 类似 MVC 的路由机制,支持 RESTful API
- ✅ 全双工通信 - 支持客户端和服务器双向通信
- ✅ 多路复用 - 单个连接支持多个请求/响应
- ✅ 管道处理 - 支持中间件管道模式
- ✅ 多节点集群 - 支持水平扩展
- ✅ Raft 协议 - 基于 Raft 的一致性协议
- ✅ 自动路由 - 跨节点消息自动路由
- ✅ 故障转移 - 节点故障自动处理
- ✅ 优雅关闭 - 支持连接迁移和优雅关闭
- ✅ 实时统计 - 连接数、消息数、带宽等
- ✅ OpenTelemetry - 标准指标导出
- ✅ Dashboard - 可视化监控界面
- ✅ 性能分析 - 详细的性能指标
- ✅ 多语言支持 - C#、TypeScript、Rust、Java、Dart、Python
- ✅ 自动 Endpoint 发现 - 自动从服务器获取 endpoint 列表
- ✅ 接口契约式调用 - 类型安全的接口调用
- ✅ 灵活配置 - 延迟加载、验证选项
- .NET Standard 2.1
- .NET 6.0
- .NET 7.0
- .NET 8.0
- .NET 9.0
当前版本:1.7.8
查看 CHANGELOG.md 了解版本历史。
欢迎贡献代码和文档!请查看 CONTRIBUTING.md 了解贡献指南。
本项目采用 LICENSE 许可证。
- 查看文档中的故障排除章节
- 在 GitHub 上提交 Issue
- 查看示例项目了解实际用法
最后更新: 2024-12-XX
我们现在提供多语言客户端 SDK,方便集成:
- C# - 完整的 .NET 支持,带动态代理
- TypeScript/JavaScript - 适用于 Web 和 Node.js 的类型安全客户端
- Rust - 高性能异步客户端
- Java - 适用于 Java 应用的 Maven 包
- Dart - Flutter 和 Dart 支持
- Python - 适用于 Python 3.8+ 的异步客户端
查看 客户端文档 了解详情。