写在前面
Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。
创始团队来自前微信高级架构师、IM/WebRTC专家团队,我们致力于用开源技术创造服务价值,打造轻量级、高可用的IM架构,开发者只需简单调用 SDK,即可在应用内构建多种即时通讯及实时音视频互动场景。
IM作为核心业务数据,安全的重要性毋庸置疑,OpenIM开源以及私有化部署让企业能更放心使用。
如今IM云服务商收费高企,如何让企业低成本、安全、可靠接入IM服务,是OpenIM的历史使命,也是我们前进的方向。
了解更多原创文章:
【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型
【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数
【OpenIM原创】简单轻松入门 一文讲解WebRTC实现1对1音视频通信原理
【OpenIM扩展】OpenIM服务发现和负载均衡golang插件:gRPC接入etcdv3
如果您有兴趣可以在文章结尾了解到更多关于我们的信息,期待着与您的交流合作。
1.克隆
git clone https://github.com/OpenIMSDK/Open-IM-Server.git
2.安装
cd Open-IM-Server
docker-compose pull
3.启动
docker-compose up
4.检查
docker-compose ps
如图所示,表示正常启动。
源码部署
安装组件
Open-IM-Server依赖五大开源组件:Etcd、MySQL、MongoDB、Redis、Kafka,在使用源码部署Open-IM-Server 前,请确保五大组件已安装。如果没有安装以上组件,建议使用上文的docker部署。
1.克隆项目
git clone https://github.com/OpenIMSDK/Open-IM-Server.git
2.修改config.yaml,配置五大组件的连接参数
cd Open-IM-Server
vim config.yaml
- 修改 Etcd 配置项
etcd:
etcdAddr: [ 127.0.0.1:2379 ]
- 修改MySQL配置项
mysql:
dbAddress: [ 127.0.0.1:3306 ]
dbUserName: root
dbPassword: openIM
- 修改MongoDB配置项
mongo: dbAddress: [ 127.0.0.1:27017 ] dbUserName: dbPassword:
- 修改 Redis配置项
redis: dbAddress: [ 127.0.0.1:6379 ] dbPassWord: openIM
- 修改 Kafka 配置项
kafka: ws2mschat: addr: [ 127.0.0.1:9092 ] ms2pschat: addr: [ 127.0.0.1:9092 ]
保存config.yaml退出即可。
每种RPC数量默认为1,如果需要调整RPC数量,修改config.yaml中的配置项rpcport对应的port信息,port个数代表对应rpc服务的进程数。比如openImUserPort: [ 10100,10101 ]表示本机会启动两个open_im_user,port分别为10100,10101
3.构建
cd Open-IM-server/scriptchmod +x *.sh./build_all_service.sh
4.启动
./start_all.sh
5.检查
./check_all.sh
如图所示,表示正常启动。
集群部署(源码)
本小节主要讲解通过源码方式如何部署Open-IM-Server集群
(1)在集群的每台机器(比如A、B两台机器)上执行源码部署。
(2)A、B机器都提供了IM能力,在nginx做一个路由转发即可。
OpenIM github开源地址:
https://github.com/OpenIMSDK/...
OpenIM官网 :https://www.rentsoft.cn
OpenIM官方论坛:https://forum.rentsoft.cn/
我们致力于通过开源模式,为全球企业/开发者提供简单、易用、高效的IM服务和实时音视频通讯能力,帮助开发者降低项目的开发成本,并让开发者掌控业务的核心数据。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。