din*_*eth 5 html ruby ruby-on-rails websocket em-websocket
我正在编写一个应用程序来跟踪在某个任务的用户之间推送的内容。我正在考虑使用 WebSockets 发送新内容,因为它们可供当前使用该应用程序执行该给定任务的所有用户使用。
我在 Rails 上写这篇文章,客户端应用程序在 iOS 上(可能也会在 Android 上)。恐怕这个 WebSocket 解决方案可能无法很好地扩展。在决定使用 WebSockets 还是使用某种轮询解决方案时,我正在寻求一些建议和需要考虑的事项。
Ruby on Rails 服务器(如 Heroku)是否支持同时打开大量 WebSocket?为了争论,让我们说一百万个连接。任何人都可以向我提供此类东西的任何材料?
如果我以这种方式构建它,在服务器托管上会花费更多吗?
甚至可以同时维护数百万个 WebSockets 吗?我觉得这可能不是最好的设计决定。
这是我第一次尝试正确的 Rails API。任何意见是极大的赞赏。谢谢。
通过 WebSockets 的数百万个连接,使用 Ruby,如果您不使用集群在不同实例之间传播连接来处理所有数据处理,我看不到它的真实性。
这里的问题是序列化和反序列化数据。
此外,您还必须研究需要从服务器将数据提取到客户端的频率,以及是否值得使用 AJAX 进行定期检查,然后一直处理连接。因为如果您确实处理连接然后不使用它 - 这是资源的浪费。WebSockets 构建在 TCP 层之上,所有连接对于操作系统来说都不是“便宜”的,并要求它们再次提供可用的数据并不是一个简单的过程,拥有数百万个连接,如果不使用最先进的技术,这几乎是不可能的在世界上。
我认为 Erlang 能够处理数百万个连接,但我没有详细信息。连接是一回事,另一回事是处理数据和连接之间的交互 - 您可能需要检查这一点,因为如果您有繁重的处理算法,那么您肯定需要研究集群解决方案的水平扩展选项。
| 归档时间: |
|
| 查看次数: |
3051 次 |
| 最近记录: |