1概述

总结送免费学习资料(包含视频、技术学习路线图谱、文档等)

引用一段网上的描述:“InstantMessaging(即时通讯、实时传讯)的缩写是IM,这是一种可以让使用者在网络上建立某种私人聊天室(chatroom)的实时通讯服务。目前在互联网上受欢迎的即时通讯软件包括QQ、百度HI、新浪UC、MSN Messenger等。“

2服务器端2.1系统框架

总结送免费学习资料(包含视频、技术学习路线图谱、文档等)

下面所有服务器组件:

内存DB:主要存储人员状态,服务器负载信息

人员信息

个人搭建web服务器教程(从零开始搭建服务器)(1)

服务器信息

个人搭建web服务器教程(从零开始搭建服务器)(2)

总结送免费学习资料(包含视频、技术学习路线图谱、文档等)

服务器类型:

1 代表逻辑服务器

2 代表音视频

3 代表聊天服务器

4 代表群聊服务器

中心服务器 主要功能维护每个单独服务器的状态,以及即时调整负载,并且清理内存DB服务器负载信息等等

DBServer、DB(做负载)以下为简图

DB使用负载服务器具体方案待定。

主要功能处理登录时候拉去信息的压力,缓解DB读取和存入压力。

OfflineMsgDBserverr、DB(做负载)以下为简图

DB使用负载服务器具体方案待定。

主要功能存入离线消息和拉去离线消息,缓解DB读取和存入压力。

登录网关服务器

主要是每个客户端第一次连接后返回一个逻辑服务器,没有其他逻辑。并发很大,这个都是短连接。登录网关的的逻辑负载通过内存db获得 ,没30苗调整一次。

总结送免费学习资料(包含视频、技术学习路线图谱、文档等)

逻辑服务器

主要处理登录和聊天等

1. 登录过程

客户端从网关服务器获得逻辑服务器IP和PORT。发送登录消息,内存数据通过相应算法找到压力较小DBserver获取登录信息。然后返回给客户端组织结构,并且向fflineMsgDBserver发送获取离线消息。最后想内存DB更新人员状态以及所在服务器信息。

2. 聊天消息(跨服务)

用户1 登录在逻辑服务器A上

用户2登录在逻辑服务器B上

用户1发起聊天发送到 逻辑A服务器上,逻辑服务器A通过内存DB找到用户2所在服务如果未找到 ,作为离线消息。如果找到向相应服务器发送消息。并且转发到用户2手上。

聊天服务器、群组服务器等基本逻辑相同

用户1 登录在逻辑服务器A上

用户2登录在逻辑服务器B上

总结送免费学习资料(包含视频、技术学习路线图谱、文档等)

个人搭建web服务器教程(从零开始搭建服务器)(3)

更多学习资料(包含视频、技术学习路线图谱、文档等)

技术点包含了C/C ,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等方面。

后台私信《资料》免费领取

,