很明显,基于 AJAX 的聊天无法扩展,那么您将使用什么进行聊天?自定义服务器?还是有什么其他方法?
由于使用 Rails,每个聊天连接都将占用大量内存,因此即使为每条消息都运行 Rails 也是不可行的。你推荐在这里使用什么?
很明显,基于 AJAX 的聊天无法扩展,那么您将使用什么进行聊天?自定义服务器?还是有什么其他方法?
由于使用 Rails,每个聊天连接都将占用大量内存,因此即使为每条消息都运行 Rails 也是不可行的。你推荐在这里使用什么?
我还尝试使用 AJAX(内置 Ajax.updater)实现一个示例聊天应用程序,但它没有锻炼。我确信可能有一些好的 ajax 解决方案。
但由于这是基于服务器推送技术,请尝试 Juggernaut ( http://juggernaut.rubyforge.org/ )。我个人没试过,但感觉还不错。
或者,如果可能,请考虑使用 Web 套接字(在 HTML5 中)。
人们经常使用 Evented Ruby 来处理像https://github.com/eventmachine/eventmachine这样的问题,这是我在 railsconf 2010 上的演讲中的一个例子。
例如http://playtype.net/past/2009/3/11/mini_an_eventmachine_clone_of/是一个 irc 机器人的事件 ruby 实现
不幸的是,您的帖子基于错误的前提。基于 AJAX 的聊天当然可以扩展,您只需要以正确的方式进行。例如,剑圣 2 使用 Node.js 来处理许多并发连接。没错,您将无法在单个服务器上处理 10,000 个连接。这就是负载平衡的用途。
您是否有一些基于定量测试的数据(除了您自己的定性结论)?
为什么要为聊天创建任何类型的自定义服务器?IRC 已经存在了很长一段时间,并且经过了多次尝试和测试。
这里真正的问题应该是关于客户端实现,而不是试图重新发明轮子服务器端 imo。