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

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

壳牌重新考虑石油产量削减计划据oedigital网站2023年3月3日伦敦报道,英国能源巨头壳牌公司首席执行官WaelSawan在伦敦告诉泰晤士报记者,在其竞争对手英国石油公司(bp)最近削减碳氢化合物产量目苏州园区房价高真正的原因,你知道吗?园区的房价比苏州市均价高了近一倍的真正原因是什么?其实每个城市的高房价区域都是有规律的,仔细看完这篇文章,结尾会有总结。1。政策支持,苏州工业园区,作为中新国际合作的成功范例,自成房地产全面取消限售的大潮开始了今年以来,地方政策从试探性松绑到应出尽出,需求侧宽松政策仍在继续。3月6日,长沙对住房限售政策做出调整,网签满4年可以进行交易!内五区从本月2日起开始执行新政(星沙望城暂不跟进)来比尔盖茨断供光刻机就是在提前向中国警告开战!假如我们真的认为在未来要和中国开战,那我们为什么还要提前警告中国我们要对他们断供?为什么要逼着他们开始生产自己的芯片?这是比尔盖茨在接受金融时报采访中所谈到在关于美国禁止向中国出售新能源车就要有车没电?质疑中国新能源产业的底气从何而来!这是一篇微头条引发的话题,它来自自诩海派清口创始人的周立波!近日,周立波用他一贯的俏皮话,发布了一篇与海派清口八百杆子打不着的内容,质疑中国新能源车和绿色能源产业思路。他称发展电动最大750平,单店年入400万,我在三四线开超级大店疫情3年,大部分品牌都把店越开越小。但最近,我在福建漳州发现了一个超级大店模式只在三四线城市开,主做100500平的大店,2年时间开出50家门店。其中,最大的门店有三层楼,750平将斥资约2亿澳元,日企下重本买澳洲稀土,欲摆脱对华依赖?据日媒3月9日的相关报道显示,日本企业将采购澳大利亚的稀土巨头莱纳斯公司即将开始生产的重稀土,此次签约估计可以满足日本国内近3成的需求。而日本企业此次所获得的是重稀土当中镝和铽的权福建一老伯晒出酒单,却因无名酒惹争议,行家这才是懂酒的人白酒是中国人的国酒,也是很多人喜爱的佳酿。但是,在市场上,有些白酒因为品牌知名度高而价格昂贵,有些白酒则因为不出名而被忽视。其实,不出名并不代表不好喝,反而可能隐藏着许多惊喜。近日工友创业园落地开花务工者乐采致富蜜原标题专业合作社田园综合体农创产业园(引题)工友创业园落地开花务工者乐采致富蜜(主题)工人日报中工网记者周怿通讯员李莉刘荣亮阅读提示近年来,以工友创业园为代表的各类创业园项目,成为强信心开新局1月新增信贷4。9万亿元,创下单月历史新高截至1月,全国经营主体达1。7亿户制造业采购经理指数2月继续回升开年以来,我国经济快速复苏,为经济社会发展注入强大信心。中央经济工作会议提践行雷锋精神传递红色爱心红网时刻新闻3月9日讯(通讯员唐坚何可颖)相约明媚春日,践行雷锋精神。为深入学习贯彻党的二十大精神,进一步传承和践行雷锋精神,满足辖区居民群众实际需求,3月9日,长沙市芙蓉区韭菜园
骁龙8Gen212GB内存512GB存储,一款售价4000以内的性价比旗舰如果你对手机流畅度的要求比较高,存储的微信聊天记录照片和视频都比较多,想买一款能够舒服使用五年以上的手机,又不考虑iPhone,那老刘大概会推荐骁龙8Gen212GB内存512GB目前这4款手机好评率很高,全是高配低价的机型,用3年无压力如果您喜欢,可以点击上面的关注二字。后续会为您提供更多有价值的内容。说起高性价比不得不提红米和真我两个品牌,手机都是出名的性能强悍,流畅度堪比旗舰。许多旗舰配置也下放,当然摩托罗拉1000元以内手机选购指南!看这篇就够用今天给大家带来一篇手机选购攻略,汇总了八款1000元以内的高性价比手机,春节临近,要给老人购买手机的,大家可以参考。千元以内手机,目前5大国内厂商已经在这个领域拼杀很久,尤其以红米如果只有2000左右的预算,可以买到怎样的华为手机?我们知道,华为的手机一般都比较贵,就比如2022年才发布的Mate50系列,标准版的起售价都是4999,好多人一看就直接被拦在门外,但是华为手机的做工和品质都是没得说的,系统是自研提前锁定2023年安卓机皇?聊聊个人最期待的三款旗舰新机临近年末之际,为了抢占2023年高端手机市场高地,近期多家品牌厂商都开启了自家旗舰新机的预热,从目前曝光信息来看,这些新机可谓是争奇斗艳,带来许多全新的黑科技,可以说都是明年安卓机如何关闭三星手机上的广告如何关闭三星手机上的广告几年来,三星一直在其智能手机中投放广告,但尤其是在2021年推出GalaxyS21系列之后,它们似乎比以往任何时候都更糟糕。上面的屏幕截图是在我个人的S212023年最值得期待的三大旗舰一加11最全能,小米和华为发力影像在即将到来的2023年,智能手机市场将会迎来新一轮的旗舰产品厮杀,像是华为OPPO小米荣耀等品牌均有旗舰产品布局。不过从个人角度来说,我还是更加期待以下这三款品牌的旗舰,因为,它们小屏爱好者有福了?iPhone15有望回归mini版本,全系五款手机!苹果在iPhone12系列首次引入mini版本,5。4英寸机身深受小屏爱好者喜爱,可惜因销量糟糕被苹果放弃,通过推出Plus版本作为替代。最新有消息显示,苹果计划为iPhone15荟萃海湾抗生素数据研究获进展海湾生态系统受到滨海城市人类活动的直接影响并反过来间接制约城市环境生物人群的一体化健康,享有滨海城市可持续发展红绿信号灯之美誉,是研究抗生素在环境中的分布特征形成机制和健康风险的一稚晖君华为年薪百万都留不住的天才少年,他将何去何从?说起稚晖君,熟悉科技领域的朋友应该都不陌生华为天才少年B站百万粉丝科技博主是他最广为人知的两个身份12月27日他在微博上发布回应宣称他离职华为的消息属实,将进行自主创业。他表示传言高通最强芯加持!华为Mate60Pro配置全曝光,对比Mate50升级明显前不久,华为余承东在参加央视遇见大咖节目时表示,因为Mate50系列热销,华为又活过来了。于是,余承东称华为手机又活过来了相关话题就登上了微博热搜。据悉,重新活过来的华为,旗下的各