首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >龙卷风/旋风中的长轮询可伸缩架构

龙卷风/旋风中的长轮询可伸缩架构
EN

Stack Overflow用户
提问于 2020-08-23 11:52:32
回答 1查看 122关注 0票数 0

我想在python中使用cyclone或tornado实现长轮询,从一开始就考虑到服务的可伸缩性。客户端可能会连接到此服务数小时。我的概念是:

客户端HTTP请求将由NGINX代理(充当负载均衡器)后面的多个tornado/cyclone处理程序线程处理。将有多个用于请求的数据队列:一个用于来自所有客户端的所有未处理请求,其余的队列包含特定于每个连接的客户端的响应,这些响应以前由工作进程生成。当请求被传送到tornado/cyclone处理程序线程时,请求数据将被发送到worker队列进行处理,然后由worker处理(连接到数据库等)。同时,tornado/cyclone处理线程将查看特定于客户端的队列,并将带有数据的响应发送回客户端(如果队列中有一些等待的话)。请看图表。

简单的图表:https://i.stack.imgur.com/9ZxcA.png

我正在考虑队列系统,因为一些请求可能会对数据库造成相当大的负担,并且一些请求可能会为其他客户端创建通知和消息。这是迈向可伸缩服务器的一种方式,还是过于夸张了?

EN

回答 1

Stack Overflow用户

发布于 2020-08-29 16:55:28

在做了一些研究之后,我决定使用连接到zeroMQ的tornado websockets。灵感来自于这个答案:Scaling WebSockets with a Message Queue

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63543200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档