【聊天室 API】集群式摸鱼派聊天室 Beta 上线啦!
很激动地告诉大家:摸鱼派的聊天室已经作为独立节点进行集群化运行啦!
和之前的聊天室有什么区别?
从用户角度来看,功能和之前是一致的。
无论你连接到哪个节点,所有的数据都是实时同步的(目前不支持手动选择节点,预计15天内会推出此功能,你可以根据你的地域选择更近的节点为你提供服务),带给你最直接的感受就是流畅,一直都很流畅。
我们将聊天室的 WebSocket 与服务端分离开来,可以实现灵活添加多个节点进行集群负载均衡。这意味着聊天室能承载更多成员,并且响应速度相较之前更快、更稳定。
我们的首个测试节点采用了一台独立云主机,它拥有可以稳定承载 1000
人的带宽和硬件性能,足够支撑我们对摸鱼派下个里程碑的期望。
目前聊天室节点
北京:300人
上海:300人(感谢 @Yui 贡献的子节点)
广州:300人(感谢 @8888 贡献的子节点)
总同时在线承载量:900人
节点仍在扩充中,如果你对成为节点有兴趣,请翻到本文最下方部分。
摸鱼派的客户端/插件开发者请注意
如果你的应用里有摸鱼派聊天室,请在 2025年3月1日之前
去除现有的 WebSocket 地址(我们后续会删除现有聊天室接口),按照下方文档的指示使用摸鱼派的聊天室子节点:
第一步,向摸鱼派请求获取一个子节点的 WebSocket 地址:
GET https://fishpi.cn/chat-room/node/get
返回 JSON 中的 data
就是你要连接的地址,我们将 ApiKey 同样帮你渲染好加入到 wss
连接的 URL 中了,直接使用即可。
返回内容:
Key | 说明 | 示例 |
---|---|---|
msg | 显示用户当前所在的区服中文名称 | 上海一区 |
code | 状态码,0为获取成功 | 0 |
data | 自动分配的 WebSocket 地址 请取用该地址连接到聊天室频道 |
wss://x.x.x.x:10832?apiKey=xxx |
avaliable | JSONArray 格式,列出所有可用的节点 具体解释请看示例 |
[ { "node": "节点 WSS 地址", "name": "节点中文名称", "online": "节点当前在线人数" "weight": 该节点权重(数值越高权重越高,权重可以理解为比例,按人数比例分配) }, ... ] |
apiKey | 自动生成的 ApiKey,用于在手动选择节点时 和 avaliable 中的 node 拼接,以连接到自定义 节点的WebSocket服务器 |
ABCD1234.... |
第二步,使用 JS 请求连接摸鱼派新版子节点示例如下:
// Init [ChatRoom] channel
$.ajax({
url: Label.servePath + '/chat-room/node/get',
type: 'GET',
cache: false,
success: function (result) {
new WebSocket(result.data);
}
});
就这么简单,完成了。相较于之前的连接方式,只是在连接之前加了一步,获取子节点的 WebSocket 地址。服务器会根据节点的负载自动为你分配一个合适的子节点地址,data
每次返回的内容是唯一的 URL ,不会同时出现多个 URL 。
第三步,请注意处理如下内容:
- 掉线机制:如果 WebSocket 服务端主动掉线了,请将重连机制也加入
GET https://fishpi.cn/chat-room/node/get
请求,服务端在监测到子节点掉线后,会停止分配此地址,所以每次连接请务必获取最新的聊天室子节点 URL ; - 目前子节点功能处于 Beta 阶段,性能、功能上很有可能存在 Bug ,如你发现问题或有任何建议,欢迎私信我,采纳后有积分奖励;
- 子节点服务端的代码完全开源,欢迎参与 PR :
https://github.com/FishPiOffical/rhyus
成为子节点
如果你有一台闲置的服务器,并且愿意成为摸鱼派聊天室子节点的一员,欢迎加入我们!
作为子节点,你可以:
- 获得额外收入:你的子节点将根据带宽使用量贡献加入到赞赏计划中
- 享受技术的乐趣:Rhyus(子节点服务端名称)仍在不停迭代中,你可以参与其中
- 特别勋章:你将获得一枚“摸鱼派子节点供应商”勋章
子节点要求:
- 服务器配置:CPU ≥ 2核 内存 ≥ 4G 空余硬盘空间 ≥ 1GB
- 公网IP、独享带宽(上下对等)≥ 10Mbps 国内主机
- 有 Linux 运维的经验,能按照文档部署程序、安装 Nginx 、更换 SSL 证书
- 服务器过期时间 ≥ 1年
- 我们每三个月会为你更换一次 HTTPS 证书
- 服务器及网络质量稳定
- 在摸鱼派社区无不良记录,同意签署保密协议,并承担泄密所导致的法律后果
如果你可以达到要求,欢迎向我私信投递申请!
-
系统公告
四周年了,是不是也该上市了