Guides
环境与组件
确认服务器、操作系统和 MongoDB、Redis、Kafka、Etcd、MinIO 等依赖。
名词约定
- OpenIMSDK:项目统称,包含 OpenIMClientSDK 与 OpenIMServer。
- OpenIMClientSDK:客户端 SDK。
- OpenIMServer:IM 基础服务端。
- ChatServer:业务扩展服务端,文档中不再使用
Chat作为独立产品名称。 - APP 管理员:调用管理类接口(如
10009)的后台管理角色。
版本与分支策略
main:开发版分支,用于持续集成未发布变更,不建议直接用于生产环境。vX.Y.Z...:稳定版发布版本命名。- 生产环境建议优先使用 GitHub Releases 页面绿色 Latest 对应的最新正式发布版。
- 如需问题复现、灰度回滚或多环境统一,请固定到明确的稳定版本 tag。
环境要求
| 注意事项 | 详细说明 | 补充说明 |
|---|---|---|
| 操作系统 | Linux | 官方使用 Ubuntu 22.04,实测 Debian 13 也可运行 |
| 硬件资源 | 8 核 16 GB,10 Mbps 带宽,1 TB 磁盘 | 按 10 万注册用户、10% 日常在线、5 万人大群、每秒 600 条消息估算;需有外网 IP |
| CPU 架构 | x86_64、arm64 | 其他架构需自行测试 |
| Go | v1.22.7 或更高版本 | 安装参考 |
| Docker | v24.0.5 或更高版本 | 自带 Compose 功能 |
| Git | v2.17.1 或更高版本 | 安装参考 |
外部组件要求
| 组件 | 建议版本 | 支持模式 | 支持云服务 / 备注 |
|---|---|---|---|
| MongoDB | v7.0 | standalone、replicaSet、sharded | 支持;接入副本集或分片集群时建议优先使用 uri |
| Redis | v7.0.0 | standalone、cluster、sentinel | 支持 |
| Etcd | v3.5.13 | 单机、多节点集群 | 不支持云服务 |
| Kafka | v3.5.1 | 单机、分布式集群 | 支持;需按源码部署预建 topic |
| MinIO | RELEASE.2024-01-11T07-46-16Z | 单机 | 可替换为 S3 兼容存储(COS、OSS、Kodo、AWS S3) |