Dchat

社交 IM熟人社交 案例ID:195758
さとうダヒイ
3 年经验· 纳里健康科技有限公司
微信扫码沟通,客服可协助直接对接工程师;如当前档期不合,也可继续推荐相似案例作者。

案例介绍

主要实现多功能聊天等功能,粗略分为三大模块:
聊天主界面模块、消息传递模块以及其它控制模块。聊天主界面模块:主要有展示聊天信息的界面区域、聊天信息输入框、发送按钮、私聊群聊界面等
消息传递模块:主要负责消息从客户端分发到服务端以及服务端消息消费存储的逻辑组件。消息分发部分会用到Kafka,RPC,ETCD等中间件。服务端离线消息缓存会用到Mongodb,全量消息存储会用到Mysql
其他控制模块:由应用栏的菜单键实现,用来控制各类功能。还包括部分工具类,例如文件(图片)选择,视频播放等。

服务端运行于Docker容器中,由访问层、逻辑层和存储层组成,好处在于各个层次能够依据业务特点专注于自己的事情,提高系统复用性,降低业务间的耦合。
(1)访问层:消息通过 Websocket 协议[11]接入,其他通过 http/https 协议接入,消息是高频及核心功能,通过双协议路由,体现了轻重分离的设计思想。
(2)逻辑层:通过 RPC 实现无状态逻辑服务[12],易于平行扩展,消息通过 MQ 解耦。(3)存储层:Redis [13]存储 token 和 seq;MongodDB 存储离线消息,并定时删除 14 天(可自行配置)前数据; Mysql 存储全量历史消息以及用户相关资料。数据分层存储,充分利用不同存储组件的特性。
(4)ETCD:服务注册和发现、以及分布式配置中心。

Dchat

社交 · IM熟人社交 案例ID:195758
联系该工程师
微信扫码,建群沟通
作者: さとうダヒイ - 3年经验- 纳里健康科技有限公司

案例介绍

主要实现多功能聊天等功能,粗略分为三大模块:
聊天主界面模块、消息传递模块以及其它控制模块。聊天主界面模块:主要有展示聊天信息的界面区域、聊天信息输入框、发送按钮、私聊群聊界面等
消息传递模块:主要负责消息从客户端分发到服务端以及服务端消息消费存储的逻辑组件。消息分发部分会用到Kafka,RPC,ETCD等中间件。服务端离线消息缓存会用到Mongodb,全量消息存储会用到Mysql
其他控制模块:由应用栏的菜单键实现,用来控制各类功能。还包括部分工具类,例如文件(图片)选择,视频播放等。

服务端运行于Docker容器中,由访问层、逻辑层和存储层组成,好处在于各个层次能够依据业务特点专注于自己的事情,提高系统复用性,降低业务间的耦合。
(1)访问层:消息通过 Websocket 协议[11]接入,其他通过 http/https 协议接入,消息是高频及核心功能,通过双协议路由,体现了轻重分离的设计思想。
(2)逻辑层:通过 RPC 实现无状态逻辑服务[12],易于平行扩展,消息通过 MQ 解耦。(3)存储层:Redis [13]存储 token 和 seq;MongodDB 存储离线消息,并定时删除 14 天(可自行配置)前数据; Mysql 存储全量历史消息以及用户相关资料。数据分层存储,充分利用不同存储组件的特性。
(4)ETCD:服务注册和发现、以及分布式配置中心。

相似案例推荐

  • 搜索中心

    搜索中心

    主要提供搜索能力,如通讯录中人员,群聊、文件名搜索 底层可

  • baas平台权限系统

    baas平台权限系统

    控制平台管理员的权限的一套服务 主要维护人员-角色-权限点

  • baas平台登录服务

    baas平台登录服务

    1.以账号类型划分可以分为,前台用户登录,管理员登录,开发者

  • 爱游宝

    爱游宝

    爱游宝APP是一款游戏钱包工具,该产品专为游戏商家及游戏玩家

  • SMM+小程序

    SMM+小程序

    介绍:SMM+小程序是服务于公司,以名片功能为基础,并衍生出

  • IM即时通讯项目

    IM即时通讯项目

    使用spingboot+netty开发一套即时通讯服务端,采

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在 1 小时内与您联系确认。

1小时精推人才

需求方专属客服,免费梳理匹配

需求方客服微信二维码
扫码加微信 · 客服人工对接
更多案例
微信沟通 客服 看中这位工程师了?客服帮你 1 小时对接沟通 → ×