我用一个简单易懂的方式给你解释一下“聊天服务器”是什么。
你可以把它想象成一个超级高效、永不休息的邮局中心,专门负责处理所有人的聊天信息。
想象一下你和朋友写信(聊天)的过程:
1、你(客户端):写好一封信(消息),写上收件人的地址(对方的用户ID),然后把信投递到邮局。
2、邮局(聊天服务器):收到你的信,立刻查看收件人地址,找到这个收件人现在的准确位置(在线状态),然后派邮差把信精准地送到对方手里。
3、你的朋友(另一个客户端):几乎同时就收到了你的信。
这个负责接收、分拣、转发所有信件的“邮局”,就是聊天服务器,它是一台(或一个集群)永远在线的、功能强大的计算机。
这个“邮局”的工作远不止送信那么简单,它非常忙碌,要处理很多事情:
1、消息路由与转发:这是最基本的功能,确保你发出的消息能准确、快速地送到一个或多个收件人那里。
2、用户状态管理:实时跟踪谁在线、谁离线,如果你朋友离线了,服务器会先把消息存起来(就像邮局暂时保管信件),等他一上线就立刻发送(“离线消息”功能)。
3、存储历史记录:把所有的聊天记录都安全地保存在数据库里,这样你换手机、重装App,依然能看到以前的聊天内容。(注意:有些注重隐私的App如Signal、Telegram(秘密聊天)默认不存储)
4、管理群聊:创建一个群聊就像是建立一个邮件分发列表,服务器需要管理哪些人在群里、谁被踢了、谁说了什么,并把每条消息复制多份发给所有群成员。
5、安全保障:
身份验证检查你的账号密码是否正确,确保你不是冒牌货。
授权检查你是否有权限进入某个群或给某人发消息。
加密现代聊天应用(如WhatsApp, Signal)的服务器还会协助进行端到端加密的密钥交换,确保你的信息只有你和朋友能看,连服务器本身都看不到内容。
6、处理其他功能:支持发送图片、文件、视频(服务器需要先接收文件,存储,然后生成一个链接发给收件人)、已读回执、正在输入提示等。
1、 你在手机上打开微信(客户端),输入“你好!”发给朋友A。
2、 你的手机会把这个消息打包,通过网络发送到腾讯的微信聊天服务器。
3、 服务器收到后,立刻进行“分拣”:
* 检查A是否在线。
* 如果A在线,服务器立刻把消息推送到A的手机上。
* 如果A不在线,服务器就把消息存到它的数据库里,等A上线再发。
4、 服务器同时会把这条“你好!”的消息存到历史记录数据库里,这样你们以后都能翻到。
5、 朋友A的手机(另一个客户端)收到消息,屏幕亮起,显示你的消息。
聊天服务器就是:
角色所有即时通讯(IM)应用的大脑和中枢神经系统。
形式一个部署在数据中心的、7x24小时不间断运行的软件程序(背后是强大的硬件支持)。
功能负责接收、存储、转发、管理所有的聊天消息和相关的业务逻辑(用户状态、群组、安全等)。
关键特点高并发(同时处理百万甚至上亿人的连接)、低延迟(速度极快)、高可靠性(不能宕机)。
没有它,我们使用的微信、QQ、WhatsApp、Telegram、Discord等所有聊天软件都无法工作,它是在背后默默无闻、但至关重要的英雄。
文章摘自:https://idc.huochengrm.cn/js/14223.html
评论