消息云存储: 1、 客户端提交:这种处理方式需要客户端和服务单共同完成,首先需要服务端提供对应的存储消息接口,当客户端收到了消息内容,解析验证通过后,发送到消息记录保存接口,服务端收到消息后对用户的聊天内容进行存储。由于消息数量比一般查询的的消息要多,所以在客户端和服务端协调时候,需要间隔一定的时间段或者一定的消息数量进行消息同步数据提交,或者在用户相关操作进行提交保存 2、 服务端保存:服务端收到客户端发送的消息后做做缓存队列处理,设计好相应的消息结构,增加定时任务循环从对应的缓存队列中逐条取出消息并保存到存储服务器,再给前端提供相应的查询接口即可 图片加速: 问题描述:消息体内的图片是先上传到服务器,获取到对应的图片地址,再使用图片地址进行消息发送,当使用国外或者港澳台服务器进行图片下载时候会比较慢。 优化方案:使用CDN加速,选择阿里云、网易云、腾讯云等一些CDN加速服务,在上传的时候直接上传到云服务里,然后返回一个加速的图片地址,或者在对应的加速服务器里使用图片信息回源操作。不管哪种方式都要提供一个加速了的图片连接就可以了。 分布式部署: 客户系统数据庞大的应用建议使用消息的分布式部署,IM消息内容加速已经在图片加速里提及,为了缓解大数据访问服务器线程数量限制,可采用IM消息服务多点部署, 具体部署流程可参照单点部署流程操作各个节点,再修改接口服务器的登录接口,将不同的节点IP或域名返回给前端,进行消息服务连接,缓存处理尽量使用同一缓存服务器,或者搭建了分布式的redis缓存,或者使用一些云服务。注意修改每个节点的缓存配置。。 服务器启动: 单点服务器运行避免不了重启、更新的操作,操作过后需要对相关的服务进行重启,尤其是消息服务器,在重启服务器后重启服务器比较繁琐,可以使用linux本机的自启动文件加载的方式进行服务启动,先把相关命令写入到“.sh”可执行文件中,在把对应的启动命令加入到启动文件里,或者直接将启动相关命令加入到启动问价中即可
|