企业本地部署IM时,需要部署哪些服务?
一套企业级即时通讯通常会涉及接入与负载均衡、应用服务、数据库、缓存、文件存储、消息服务和管理后台。用户数量较少时可以采用较简单的架构;人数、消息量和文件量增加以后,则需要考虑多应用节点、高可用和独立数据组件。
因此,企业本地部署IM最好先看整体架构,再决定服务器数量和配置。
员工的PC、手机和Web客户端需要先连接企业IM服务。
当在线人数和请求量较大时,可以通过负载均衡把请求分发给多个应用节点。
小天互连的大规模部署架构可通过负载均衡将客户端请求分配到多个应用节点,应用节点也可以按实际需求继续扩展。
这一层主要解决的是:
大量用户同时连接时,请求如何合理分发。
应用节点负责处理实际业务逻辑。
登录、组织通讯录、消息处理、文件调用、权限判断等业务能力,都需要应用服务参与。
如果所有用户都依赖唯一应用节点,一旦该节点出现故障,影响范围就会比较大。
因此,中大型组织通常还会评估应用节点能否横向扩展以及故障时的可用性。
账号、组织、群组、消息以及其他业务数据需要进入数据库。
随着系统持续运行,数据库的查询量和数据规模都会增长。
小天互连可根据实际项目规模规划数据库高可用、主从或读写分离等方式。具体拓扑需要结合数据库类型、用户规模和企业连续性要求确定。
一些频繁访问的数据可以由Redis承担缓存任务。
例如在线状态、热点信息和部分高频访问数据,如果每次都直接读取数据库,会增加数据库压力。
小天互连的部署架构可以将Redis作为独立缓存服务,用于降低数据库压力并提高系统响应效率。
企业IM运行几年以后,真正占用大量存储空间的往往不是文字消息,而是文档、图片、视频、合同和图纸。
因此,文件服务应该作为独立容量规划对象。
小天互连的大规模架构可以将应用与文件存储分离,由独立文件存储承担用户上传文件的保存与访问。
企业部署前最好提前测算:
一年大约产生多少文件,几年后需要多少存储,文件如何备份。
即时通讯与普通管理系统不同,它需要持续处理大量实时消息。
在用户规模和业务通知量增加以后,消息服务的并发处理、削峰和稳定性也需要单独考虑。
小天互连可结合消息服务组件承载高并发消息处理,降低大量通知同步处理时对应用服务造成的压力。
系统上线以后,还需要管理账号、权限、设备、群组和消息记录。
与此同时,数据库和文件也需要进入备份体系。
小天互连具备完整备份和异地灾备项目能力,可以根据企业要求对数据库、文件及相关运行数据进行保护。
所以,企业本地部署IM真正需要规划的是:
接入/负载均衡 → 应用 → 数据库 → Redis → 文件 → 消息服务 → 管理审计 → 备份恢复。
不是每个项目都必须使用最复杂的架构,但选型阶段应该确认:
今天可以简单部署,未来规模增长后还能不能继续扩展。