OpenIM集群(非k8s)部署文档
自行部署etcd/zookeeper/mysql/kafka/mongo/redis集群,可以根据此性能评估服务器需求。 以下是针对一台华为云主机s3的压测数据:8核16G内存,普通磁盘(非SSD)(一)单聊压测数据:1.1 同时在线及压测客户端数量:1万1.2 每秒钟发送消息量:2300条;1.3 从发送到对方接收平均消息延时:5秒(二)群聊压测数据:2.1 群成员数量:1万人2.2 同时在线人数:1千人2.3 每秒发送消息量:500条;2.4 从发送到对方接收平均消息延时:6秒 组件集群说明组件 说明 版本etcd 建议三台,可复用 3.5.0zookeeper 建议三台,可复用 3.7.1mysql 主从两条,可复用 5.7kafka 建议三台,可复用。以2台8核16G IM Server为例说明topic分区设置,”ws2ms_chat” 8分区,”msg_to_mongo” 8分区,”ms2ps_chat” 10分区 3.2.0mongo 建议2台以上,可复用。每个cache限制0.5G;多个数据分片副本集,1个mongos副本集,1个config副本集 5.0redis 建议2台以上,可复用。每个内存限制10G, 淘汰策略volatile-ttl 6.2.5 IM Server集群部署(1)下载代码及编译git clone https://github.com/OpenIMSDK/Open-IM-Server.git —recursivecd Open-IM-server/scriptchmod +x *.sh./batch_build_all_service.sh出现all services build success表示所有模块编译成功(2)修改组件信息kafka:ws2mschat: addr: [ 127.0.0.1:9092, 127.0.0.2:9092, 127.0.0.3:9092 ] # topic: “ws2ms_chat” open_im_msg写入,open_im_msg_transfer消费后新消息入库redis和kafka “msg_to_mongo” 、 “ms2ps_chat”ws2mschatoffline: addr: [ 127.0.0.1:9092, 127.0.0.2:9092, 127.0.0.3:9092 ] #kafka配置,默认即可 topic: “ws2ms_chat_offline” 不再使用msgtomongo: addr: [ 127.0.0.1:9092, 127.0.0.2:9092, 127.0.0.3:9092 ] #kafka配置,默认即可 topic: “msg_to_mongo” open_im_msg_transfer消费历史消息入库mongoms2pschat: addr: [ 127.0.0.1:9092, 127.0.0.2:9092, 127.0.0.3:9092 ] #kafka配置,默认即可 topic: “ms2ps_chat” open_im_push消费,推送消息到open_im_msg_gateway etcd:etcdSchema: openim #默认即可etcdAddr: [ 127.0.0.1:2379, 127.0.0.2:2379, 127.0.0.3:2379] #etcd集群 mysql:dbMysqlAddress: [ 127.0.0.1:13306, 127.0.0.2:13306] #mysql主备 mongo:dbAddress: [127.0.0.1:37017, 127.0.0.2:37017, 127.0.0.3:37017] #使用分片集群时为mongos地址 redis:dbAddress: [ 127.0.0.1:16379, 127.0.0.2:16379, 127.0.0.3:16379 ] #redis集群 rpcRegisterIP:#不要填写(3)调整进程数open_im_msg 6个,open_im_push 5个 openImMessagePort: [ 10130, 10131, 10132, 10133, 10134,10135 ] #open_im_msg 配置6个端口则启动6个进程openImPushPort: [ 10170, 10171, 10172, 10173, 10174 ] #open_im_push 配置5个端口则启动5个进程open_im_msg_transfer 4个 修改script/path_info.cfgmsg_transfer_name=”open_im_msg_transfer”msg_transfer_binary_root=”..