写点什么

【OpenIM 原创】IM 服务端 docker、源码、集群部署 非常实用

用户头像
OpenIM
关注
发布于: 2 小时前

写在前面


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


【开源OpenIM】高性能、可伸缩、易扩展的即时通讯架构

如果您有兴趣可以在文章结尾了解到更多关于我们的信息,期待着与您的交流合作。

1.克隆

git clone https://github.com/OpenIMSDK/Open-IM-Server.git
复制代码

2.安装

cd Open-IM-Serverdocker-compose pull
复制代码

3.启动

docker-compose up
复制代码

4.检查

docker-compose ps
复制代码



如图所示,表示正常启动。

源码部署

安装组件

Open-IM-Server 依赖五大开源组件:EtcdMySQLMongoDBRedisKafka,在使用源码部署 Open-IM-Server 前,请确保五大组件已安装。如果没有安装以上组件,建议使用上文的 docker 部署。

1.克隆项目

git clone https://github.com/OpenIMSDK/Open-IM-Server.git
复制代码

2.修改 config.yaml,配置五大组件的连接参数

cd Open-IM-Servervim 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/Open-IM-Server


OpenIM 官网 : https://www.rentsoft.cn


OpenIM 官方论坛: https://forum.rentsoft.cn/


我们致力于通过开源模式,为全球企业/开发者提供简单、易用、高效的 IM 服务和实时音视频通讯能力,帮助开发者降低项目的开发成本,并让开发者掌控业务的核心数据。


用户头像

OpenIM

关注

还未添加个人签名 2021.08.30 加入

还未添加个人简介

评论

发布
暂无评论
【OpenIM原创】IM服务端docker、源码、集群部署 非常实用