蘑菇街TeamTalk服务端分析
来源:互联网 发布:linux mysql安装详解 编辑:程序博客网 时间:2024/04/28 01:42
login_server:均衡负载服务器,用来通知客户端连接到负载最小的msg_server (1台)。
msg_server:客户端连接服务器(N台)。客户端通过msg_server登陆,保持长连接。
route_server:消息中转服务器(1台)。
DBProxy:数据库服务,操作数据库(N台)。
消息收发流程:
msg_server启动时,msg_server主动建立到login_server和route_server的长连接。
客户端登陆时,首先通过login_server 获取负载最小的msg_server。连接到msg_server。登陆成功后,msg_server发消息给route_server,route_server记录用户的msg_server。与此同时,msg_server发送消息给login_server,login_server收到后,修改对应msg_server的负载值。
客户端消息发送到msg_server。msg_server判断接收者是否在本地,是的话,直接转发给目标客户端。否的话,转发给route_server。
route_server接收到msg_server的消息后,获取to_id所在的msg_server,将消息转发给msg_server。msg_server再将消息转发给目标接收者。
数据库操作:
消息记录,获取用户信息等需要操作数据库的,由msg_server发送到db_server。db_server操作完后,发送给msg_server。
0 0
- 蘑菇街TeamTalk服务端分析
- 编译蘑菇街的teamtalk
- TeamTalk 服务端分析 一、编译
- TeamTalk 服务端分析 二、配置
- 蘑菇街的开源IM:TeamTalk
- 【TeamTalk】源码分析之服务端描述
- TeamTalk服务端分析 三、服务端以及客户端流程
- TeamTalk服务端分析 三、服务端以及客户端流程
- TeamTalk服务端分析之服务端以及客户端流程
- TeamTalk服务端分析之服务端以及客户端流程
- 蘑菇街TeamTalk源码流程思维导图
- TeamTalk---服务端架构
- TeamTalk服务端描述
- 开源IM工程“蘑菇街TeamTalk”的现状:一场有始无终的开源秀
- 开源IM工程“蘑菇街TeamTalk”的现状:一场有始无终的开源秀
- TeamTalk 分析TTThread
- 【TeamTalk】login_server分析
- TeamTalk——ubuntu服务端部署
- 第10周项目6贪财的富翁
- PostgreSQL的行转列函数使用一例
- feqfgqef
- How to add the CAPTCHA functionality in salesforce
- request.getQueryString(); 用法
- 蘑菇街TeamTalk服务端分析
- Agile和scrum敏捷开发(未完待续中)
- gdb server 应用
- PhoneGap录像 以及 录音功能 简单代码实现3
- Java学习笔记 ——13
- Openvswitch手册(5): VLAN and Bonding
- Linux信号列表(sigint,sigtstp..)
- UTF-8、GBK、GBK2312等字符编码的区别和vim乱码等相关问题研究。
- repeater添加序号(先引过来,过几天整理成自己的东西)