能直接利用Tornado来做一个简单的PUSH消息系统吗
可以做成tornado集群啊,一台机器扛不住就横向扩展,然而这样就需要把服务解耦,试想这么一个场景,A用户对B用户发了信息,然而A用户在0.11这台机器上,B用户在0.12这台机器上,这样就需要一个单独的消息中心,所有节点全部订阅这个消息中心就好了。如此解耦tornado集群只负责消费消息,而消息的生产者就要分离出去。
【能直接利用Tornado来做一个简单的PUSH消息系统吗】 最近正在做tornado的消息推送集群设计,想利用zeromq做消息发布中心,一旦有消息之后通知所有tornado集群服务器,难点不在于消息中心而在于tornado节点服务器上的zeromq的subscirber怎么集成到tornado里面去。貌似tornado的ioloop不认zeromq的socket。过渡期采用的是两个线程,一个启动tornado,另一个线程启动zeromq的subscriber
留个坑,等做好了来更新。
已经做好了,直接把tornado的ioloop替换成zmq的poller就可以了,详细见我的一个样例:
nikoloss/rose-dewdrop
■网友
可以利用Tornado做一个push的系统,其实多人在线的瓶颈并不是把 10000人的RequestHandler存在内存里面,而是同时监听fd的数量。传统的select采用轮询,效率很低,而且有最大数量限制。而Tornado在linux上使用epoll,在BSD或mac上使用kqueue。效率非常高。具体的你可以参见以下Tornado给的demo,里面有个chat,利用long-polling推数据的。
■网友
在github 上搜索key words :tornado push ,有太多的结果了
■网友
nginx + 多线程 轻松解决 C10k问题,前提是没有非阻塞IO,比如MySQL-python这种玩意,用asyncmongo无妨
■网友
可以,利用tonado的异步请求就可以,不过不要想有一万个人在线,这个tonado来说是很困难的,它是单线程的。
■网友
正在开始试验用来做android推送后端,留个脚印。成了再来分享心得
推荐阅读
- 河北承德危险废物综合利用处置率达100%
- 黄金时间■黄金时间丨打造海绵城市:节水从利用雨水开始
- |淮阴水政充分利用“双随机”平台 促进执法公平公正
- 司法所|川姜镇司法所盛赛飞利用父母偏心绝情,赶我出家门
- 孕妇到了预产期,小孩还没有入盆,请问是该等下去还是直接剖腹产
- 计算机技术与科学专业怎样利用高中毕业的暑假
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- |为了人气这么拼?千万网红钟婷为了流量,直接挂掉自己眉毛
- 可不可能利用网盘的秒传功能使用伪造的MD5(或其他信息)值进行文件分享
- 为啥腾讯要关闭ios端的赞赏,而不是将支付费用直接乘以1.43倍
