首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将一个闲置的机器人扩展到1000多个团队?

如何将一个闲置的机器人扩展到1000多个团队?
EN

Stack Overflow用户
提问于 2016-04-04 22:35:26
回答 1查看 1.3K关注 0票数 11

要实现一个松弛的机器人,我需要处理的‘实时消息传递API’的松弛。它是一个基于WebSocket的API,允许您实时接收来自Slack的事件,并以用户身份发送消息。更多信息:https://api.slack.com/rtm

要只为one team创建机器人,我需要打开one websocket连接并监听事件。

为另一个团队提供闲置的机器人。我需要打开一个新的websocket连接。所以,

  • 1个team => 1 websocket连接
  • 2组=> 2 websocket连接
  • N组=> N个网络套接字连接

我应该做些什么来为无止境的团队扩展我的websocket连接?

什么样的体系结构能够处理1000个websockets连接的自动标号?

EN

回答 1

Stack Overflow用户

发布于 2016-04-05 02:58:36

使用松弛的套接字,您有很多事情要扩展:

  • 插座的数量。这很容易,因为即使是廉价的服务器也可以处理数千个套接字,比如超过50k。但是,每个套接字表示另外几种类型的负载,下面列出。
  • 每个团队使用的内存量,这取决于您自己的服务器实现。如果您试图将大量的消息历史记录保存在内存中,您将比您的消息处理代码在某种程度上无状态时更快地达到服务器的限制。
  • I/O的数量,这可能会使您希望将任何服务于单独负载均衡器的映像卸载。

另一件要考虑的是容错。假设您进行了粘性负载平衡,您的服务器之一正在处理50个团队。那个服务器是唯一一个处理这50个团队的服务器,所以如果它崩溃了,那么所有50个机器人都会离线。或者,您可以在单独的服务器上打开每个团队的多个套接字,并使用一个消息处理队列,以便每个消息只响应一次。

因此,我建议的体系结构是一个瘦的、冗余的RTM套接字负载均衡器,作为第一层,并且在该层下面有一个可靠的消息队列。

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

https://stackoverflow.com/questions/36414101

复制
相关文章

相似问题

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