第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

基于Tornado的Websocket集群

標(biāo)簽:
Python Tornado

背景

我们部署单点websocket服务时很简单就可以实现,但是现实中的业务往往对性能要求非常高, 因此单点服务并不能满足我们的需求,所以我们需要横向的扩展服务,来满足性能要求。

举个简单的例子,我们建立一个简单的聊天室,人数少的时候可以正常提供服务,但当聊天的人数超过单台服务器所能服务的数量时,服务器就不能提供相应的服务。我们可以通过提高服务器的配置来继续满足,但是提升配置后依然会达到上限。所以我们需要提供分布式的websocket服务,不再集中在一台服务器上,我们可以通过横向扩展,在多台服务器上部署相同的服务,来满足我们的扩展需求。

设计

原理

Websocket服务中正常启动后,每个用户连接后会一直存在,因此连接要保存在内存中,并在服务中管理起来,根据不同的需要,服务确定是否要通知集群中其他连接信息

基本的原理

  1. websocket服务中,单独启用一个线程来订阅MQ,线程中收到订阅,根据业务需求来确定通知所有连接与否。

  2. 单独提供一个RabbitMQ服务

    • 接收websocket的发送业务处理集群的消息
    • 接收业务处理集群发送websocket的消息,这里采用的是广播,不再对业务中进行判断是否发送,由websocket服务判断是要发送给哪个连接
  3. 业务服务集群,监听mq提供的业务处理消息,然后再将结果发送到websocket订阅的消息队列中。

架构图

图片描述

代码

关注vx:战渣渣
回复关键字:ws集群

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消