范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

IM开源项目OpenIM集群(非k8s)部署文档生产环境可参考

  自行部署etcd/zookeeper/mysql/kafka/mongo/redis集群,可以根据此性能评估服务器需求。
  以下是针对一台华为云主机s3的压测数据:8核16G内存,普通磁盘(非SSD)
  (一)单聊压测数据:
  同时在线及压测客户端数量:1万
  每秒钟发送消息量:2300条;
  从发送到对方接收平均消息延时:5秒
  (二)群聊压测数据:
  群成员数量:1万人
  同时在线人数:1千人
  每秒发送消息量:500条;
  从发送到对方接收平均消息延时:6秒
  组件集群说明
  组件
  说明
  版本
  etcd
  建议三台,可复用
  3.5.0
  zookeeper
  建议三台,可复用
  3.7.1
  mysql
  主从两条,可复用
  5.7
  kafka
  建议三台,可复用。以2台8核16G IM Server为例说明topic分区设置,"ws2ms_chat" 8分区,"msg_to_mongo" 8分区,"ms2ps_chat" 10分区
  3.2.0
  mongo
  建议2台以上,可复用。每个cache限制0.5G;多个数据分片副本集,1个mongos副本集,1个config副本集
  5.0
  redis
  建议2台以上,可复用。每个内存限制10G, 淘汰策略volatile-ttl
  6.2.5  IM Server集群部署(1)下载代码及编译git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive cd Open-IM-server/script chmod +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消费历史消息入库mongo   ms2pschat:     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.cfg msg_transfer_name="open_im_msg_transfer" msg_transfer_binary_root="../bin/" msg_transfer_source_root="../cmd/open_im_msg_transfer/" msg_transfer_service_num=4(4)复制Open-IM-Server到其他服务器scp -r Open-IM-Server root@127.0.0.2:/data(5)启动cd script ./start_all.sh 关于OpenIM
  OpenIM是由IM技术专家打造开源即时通讯组件,也是目前最受欢迎的开源IM项目之一,开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时通讯能力快速集成到自身应用中,并确保业务数据的安全性和私密性。github社区活跃,star近万,排名遥遥领先,开发者万人,OpenM力争开源IM项目No1,打造开源IM第一社区。OpenIM是也是目前非常受欢迎的开源IM项目,广泛用于政企协同办公场景。
  github地址:https://github.com/OpenIMSDK/Open-IM-Server
  开发者中心:https://doc.rentsoft.cn/#/
  平台支持:Android iOS Uniapp Flutter Electron Web reactNative等几乎所有平台
  pc支持信创环境:银河麒麟 UOS等;
  群组支持:十万群成员的超级大群
  安卓基于自启动-保活机制
  nginx配置示例
  https/wss配置;负载均衡配置;以IM Server两台 127.0.0.1 127.0.0.2 , nginx部署在其他服务器为例。
  注意域名 替换ip 域名以及证书  upstream  msg_gatway_imserver{               server 127.0.0.1:10001;                server 127.0.0.2:10001;             }           upstream  api_imserver{               server 127.0.0.1:10002;                 server 127.0.0.2:10002;             }           upstream  jssdk_imserver{               server 127.0.0.1:10003;                 server 127.0.0.2:10003;             }               upstream  demo_imserver{               server 127.0.0.1:10004;                 server 127.0.0.2:10004;             }          upstream  cms_imserver{               server 127.0.0.1:10006;                 server 127.0.0.2:10006;             }      server {         listen 443;         server_name open-im-online.rentsoft.cn;          ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.key;          ssl_session_timeout 5m;         gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";          error_page 405 =200 $uri;         location / {                 proxy_set_header Host $host;                 proxy_set_header X-Real-Ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                 proxy_set_header X-NginX-Proxy true;                 root /data/online/Pc-Web-Demo/build/;                 index index.html;                 try_files $uri $uri/ /index.html;         }         location /admin {                 proxy_set_header Host $host;                 proxy_set_header X-Real-Ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                                  proxy_set_header X-NginX-Proxy true;                 # root /data/online/Open-IM-Admin/build/;                 alias /data/online/Open-IM-Admin/build/;                 index index.html;                 try_files $uri $uri/admin/ /admin/index.html;         } } server {         listen 80;         server_name open-im-online.rentsoft.cn;         rewrite ^(.*)$ https://${server_name}$1 permanent; }  server {         listen 10001;         server_name open-im-online.rentsoft.cn;         ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.key;         ssl_session_timeout 5m;          gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";         location / {                 proxy_http_version 1.1;                 proxy_set_header Upgrade $http_upgrade;                 proxy_set_header Connection "Upgrade";                 proxy_set_header X-real-ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                 proxy_pass http://msg_gatway_imserver;             } }   server {         listen 10002;         server_name open-im-online.rentsoft.cn;         ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.key;         ssl_session_timeout 5m;          gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";          location / {                 proxy_http_version 1.1;                 proxy_set_header X-real-ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                 proxy_pass http://api_imserver;         }           }   server {         listen 10003;         server_name open-im-online.rentsoft.cn;         ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.key;         ssl_session_timeout 5m;          gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";         location / {                 proxy_http_version 1.1;                 proxy_set_header Upgrade $http_upgrade;                 proxy_set_header Connection "Upgrade";                 proxy_set_header X-real-ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                  proxy_pass http://jssdk_imserver;         } }   server {         listen 10004;         server_name open-im-online.rentsoft.cn;         ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.key;         ssl_session_timeout 5m;          gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";         location / {                 proxy_http_version 1.1;                 proxy_set_header Upgrade $http_upgrade;                 proxy_set_header Connection "Upgrade";                 proxy_set_header X-real-ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                 proxy_pass http://demo_imserver;         }           }   server {         listen 10006;         server_name open-im-online.rentsoft.cn;         ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.key;         ssl_session_timeout 5m;          gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";         location / {                 proxy_http_version 1.1;                 proxy_set_header X-real-ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                 proxy_pass http://cms_imserver;         } }     server {         listen 7880;         server_name open-im-online.rentsoft.cn;         ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/open-im-online.rentsoft.cn.key;         ssl_session_timeout 5m;          gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";         location / {                 proxy_http_version 1.1;                 proxy_set_header Upgrade $http_upgrade;                 proxy_set_header Connection "Upgrade";                 proxy_set_header X-real-ip $remote_addr;                 proxy_set_header X-Forwarded-For $remote_addr;                 proxy_pass http://127.0.0.1:7880;         } }     upstream storage {     server 127.0.0.1:10005; }  server {   #      listen 443;    #     server_name storage-online.rentsoft.cn;     #    ssl on      #   ssl_certificate /etc/nginx/conf.d/ssl/storage-online.rentsoft.cn_bundle.crt;       #  ssl_certificate_key /etc/nginx/conf.d/ssl/storage-online.rentsoft.cn.key;          ssl_session_timeout 5m;   listen 443;         server_name storage-online.rentsoft.cn;          ssl on;         ssl_certificate /etc/nginx/conf.d/ssl/storage-online.rentsoft.cn_nginx/storage-online.rentsoft.cn_bundle.crt;         ssl_certificate_key /etc/nginx/conf.d/ssl/storage-online.rentsoft.cn_nginx/storage-online.rentsoft.cn.key;           gzip on;         gzip_min_length 1k;         gzip_buffers 4 16k;         gzip_comp_level 2;         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;         gzip_vary off;         gzip_disable "MSIE [1-6].";      location / {             proxy_pass http://127.0.0.1:10005/;             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header X-Forwarded-Proto $scheme;             proxy_set_header Host $http_host;             proxy_http_version 1.1;             client_max_body_size 8000M;      } }    1

深圳男篮32分惨败!周鹏连续伤人,外援不给力,王建军让人失望新赛季开始之后,深圳男篮的表现堪称过山车一样,但也有一个定律,就是遇到强队基本都输,特别是与浙江男篮的比赛,他们开局就被对手打懵,最终以32分惨败。除了输球,周鹏在比赛中多次出现了10月25日024时,辽宁新增2例本土无症状感染者,均为锦州市报告10月25日024时,辽宁省无新增新冠肺炎确诊病例新增2例本土无症状感染者,均为锦州市报告新增3例境外输入无症状感染者,其中沈阳市报告1例大连市报告2例。治愈出院本土新冠肺炎确诊病四连败的上海男篮已敲定两位前NBA新外援,郭昊文脚踝骨折回归无望新赛季CBA开始前雄心勃勃的上海大鲨鱼男篮在常规赛第一阶段前6轮1胜5负,战绩糟糕,最近更是遭遇四连败。已经和大外援比斯利解约的大鲨鱼因此加快了外援更换的速度。据悉俱乐部已经敲定了超级新人仅出场4分钟,北京男篮要放弃幻想,球队需要培养新人北京时间10月25日,CBA联赛继续进行。其中的一场比赛中,北京首钢男篮7571惊险战胜青岛男篮。整场比赛,两支球队都是处于均势之中。最终,北京首钢男篮还是依靠出色的防守能力限制住莫科快哭了,四川男篮顶级中锋状态下滑,他才30岁就将离开CBA?莫科快哭了,四川男篮顶级中锋状态下滑,他才30岁就将离开CBA?CBA新赛季已经开赛一周有余,从最近五轮比赛的赛果基本上对各支球队也有了一个新的认识,就整个积分榜来说,除了上海男篮印度一箭36星成功入轨,印度的航天水平究竟有多高?新华社新德里10月23日电(记者胡晓明)印度空间研究组织23日宣布,印度当天使用LVM3运载火箭将36颗通信卫星成功送入预定轨道。这条消息播出的当天,曾引起部分网友的热议。一箭36王屋山景区又一精品民宿将横空出世!济源文旅集团民宿集群宿造文旅融合新动能顶端新闻河南商报记者赵珊珊近日,记者从济源文旅集团获悉,济源文旅集团新打造的西溪岭悠享乡村精品民宿聚落即将横空出世。据了解,该民宿聚落位于王屋山景区,总投资2500万元,占地面积8缅币大跌?影响远不止于此!缅甸被FATF列入黑名单后,物价疯涨反洗钱金融行动特别工作组(FinancialActionTaskForceonMoneyLaundering(FATF))主席T。RajaKuma于10月21日晚间宣布,缅甸正式被中国将积极申办2031年女足世界杯据国家体育总局网站10月24日消息,国家体育总局教育部财政部中国足协近日联合印发了中国女子足球改革发展方案(20222035年)(以下简称方案)。方案按照2025年2030年和20乒乓是国球!不得丢脸陈佩斯和朱时茂有句经典台词我以为只有我这样的人能叛变,没想到你这样的也能今天,体育界重大新闻就是国球的糗事。一直关注大球,小球也少看。不过也知这个梁靖崑还是累犯了,从前就有风波。此陆左杯报名要求公布,参赛要求堪比职业比赛,但百万奖金太香了最近陆左杯的比赛即将正式开打,很多主播和路人王都接到了陆左的邀请,有的主播是被邀请去OB,有些主播则是直接被邀请参赛,当然了,陆左据说还请到了KPL职业的解说,目的就是为了给大家带
节后效应拉动10月份CPI涨幅回落数据速读本报记者王丽娟11月9日,国家统计局发布了2022年10月份全国CPI(居民消费价格指数)和PPI(工业生产者出厂价格指数)数据。数据显示,10月份,全国居民消费价格指数同穿越困顿旅游预售渐成规模效应21世纪经济报道记者高江虹北京报道双11购物狂欢即将收官。尽管多地疫情散点多发,人们对旅游的热情不减,不少旅游预售产品热销。21世纪经济报道从飞猪旅行网获悉,今年双11多款机票权益旅行不代表要委屈自己!困扰无数徒步爱好者的问题,现在解决了现如今,人们越来越重视与内在思想的交流与自然环境的沟通,因此很多人都爱上了徒步旅行,不仅能够和自身对话,也能与自然亲密接触。最重要的是,和借助交通工具来达成旅行的目的不同,徒步旅行传统艺能,不愧是你!EA将放弃赛车计划IP投资作为全球著名的互动娱乐软件公司之一,美国艺电公司(EA)在玩家群体口碑其实不算好,也不能说他出品的游戏质量全部都差,而是某些知名工作室被他收购后的IP很多不是雪藏就是取消。这不最新无人共享茶室和传统茶室的优势分析为什么要做共享茶室共享经济大行其道的时代,各种共享产物出现了。当共享经济邂逅茶文化,让闲置空间信息透明化,共享茶室应运而生。越来越多的传统茶室也在尝试组合茶室智能管理系统,保留自己让开门更简单,提升家居智能体验小米人脸识别智能门锁前言大家好,我是小猴。随着智能门锁近些年的普及,越来越多的家庭习惯了指纹识别智能门锁带来的便利性。不管是智能门锁的解锁方式还是其安全性都要远高于传统机械式门锁。然而单一指纹解锁方式都到2022年底了,预算15万能否直接买新能源车?还是应该再等等?关于新能源汽车市场,很有意思的一点是,伴随着行业的弯道超车,价格也逐渐超过了不少人的预算上限。当然,土豪除外。就比如,15万买燃油车,你可以有多重选择,自主配置丰富,合资口碑良好。接了一单顺风车,网约车司机被骗8万多元现代快报讯(通讯员夏进勇记者严君臣)从事多年网约车生意的司机邱某怎么也没有想到,一笔顺风车订单竟然让自己陷入连环骗局,8万多块钱转眼被骗走。11月8日,经南通市崇川区检察院提起公诉奇瑞新款代步小车,无界Pro预售价公布,3门4座,续航408km虽然奇瑞小蚂蚁是较早上市的一款3门新能源代步小车,但是被后来的五菱宏光MINIEV抢了风头,而五菱宏光MINEV的优势就是价格便宜。于是奇瑞也在去年底推出了价格和五菱宏光MINIEiPhone14又被曝出新问题,你遇到了几个?掐指一算,新iPhone刚刚发售的时候或多或少都会出现翻车。不过不知道是不是错觉,今年的iPhone14确实翻车了,似乎还翻得更彻底了且不说最开始曝出来的第三方应用相机抖动紫色版后名记乌度卡将再次在NBA执教最快可能在下赛季去另外一个地方直播吧11月10日讯今日篮网官方宣布,球队正式任命雅克沃恩为球队主教练。据此前报道,篮网曾有意聘请前凯尔特人主帅乌度卡为球队主教练,但因乌度卡此前身陷丑闻而遭到外界的强烈反对,最终