Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby:为基于web的聊天开发提供并发性的库、框架和服务器_Ruby_Web Applications_Concurrency_Chat_Nonblocking - Fatal编程技术网

ruby:为基于web的聊天开发提供并发性的库、框架和服务器

ruby:为基于web的聊天开发提供并发性的库、框架和服务器,ruby,web-applications,concurrency,chat,nonblocking,Ruby,Web Applications,Concurrency,Chat,Nonblocking,我应该使用什么ruby并发库/框架来开发基于web的聊天 我读过关于Eventmachine和赛璐珞库,以及关于Sinatra::Synchrony、Cramp、Goliath和Gserver支持并发的服务器。如果我没有弄错的话,所有这些lib或服务器都使用两种主要的不同方法实现并发:reactor模式(大部分都是),或者使用多线程(即gserver,…) 如果这一切都是正确的,我希望是正确的,那么有人能: 如果不是,请纠正我 指出我错过的其他积极开发的库或框架 我问这个问题的原因是,出于学

我应该使用什么ruby并发库/框架来开发基于web的聊天

我读过关于Eventmachine和赛璐珞库,以及关于Sinatra::Synchrony、Cramp、Goliath和Gserver支持并发的服务器。如果我没有弄错的话,所有这些lib或服务器都使用两种主要的不同方法实现并发:reactor模式(大部分都是),或者使用多线程(即gserver,…)

如果这一切都是正确的,我希望是正确的,那么有人能:

  • 如果不是,请纠正我
  • 指出我错过的其他积极开发的库或框架
我问这个问题的原因是,出于学习目的,我正在尝试使用ruby在服务器端构建一个基于web的聊天。它将使用WebSocket或服务器端事件与客户端交互,并使用Jquery或其他方式

我还读过关于将ruby与Xmpp服务器或发布/订阅消息系统(如Faye)结合使用的内容。如果我把其中的一个放在盘子里,如果我说它会缩小到只需要担心以非阻塞方式向这些服务器发出请求,而不需要设置一个完整的“非阻塞”ruby聊天服务器,那么我说的对吗

我知道这有点复杂,但我希望它仍然有意义。。 但如果我在某些事情上完全走错了方向,有人能至少给我一个大概的,模糊的概念,让我更好地理解什么吗


谢谢

你应该问的很有趣。Ruby周刊的Peter Cooper提到(第116期-2012年10月25日)一篇题为“Ruby开发人员需要停止使用EventMachine。这是一个错误的方向”的副标题,这引发了一些有趣的争论,因为许多框架都是在它之上构建的(Goliath、Cramp等)

不再抱有幻想的人群要么转向赛璐珞(Sidekiq是其最著名的客户端),要么转向Node.js平台,要么转向从一开始就提供可靠并发原语的其他语言。是的,走吧,埃尔朗,克洛朱尔


就我个人而言,不久前我使用Cramp、Redis Pub/Sub和Websockets实现了一个基于web的实时聊天,这些都是从以下内容中松散改编而来的。它像广告宣传的那样工作,但它所获得的流量与其他地方一些高容量系统的要求相比并不理想。

有趣的是,你应该问一下。Ruby周刊的Peter Cooper提到(第116期-2012年10月25日)一篇题为“Ruby开发人员需要停止使用EventMachine。这是一个错误的方向”的副标题,这引发了一些有趣的争论,因为许多框架都是在它之上构建的(Goliath、Cramp等)

不再抱有幻想的人群要么转向赛璐珞(Sidekiq是其最著名的客户端),要么转向Node.js平台,要么转向从一开始就提供可靠并发原语的其他语言。是的,走吧,埃尔朗,克洛朱尔


就我个人而言,不久前我使用Cramp、Redis Pub/Sub和Websockets实现了一个基于web的实时聊天,这些都是从以下内容中松散改编而来的。它像广告宣传的那样工作,但它所获得的流量与其他地方一些高容量系统的要求相比并不理想。

“目前”使其过于本地化。“最积极”使它没有建设性。请阅读。更改问题以解决更具体的问题,并删除“过于本地化”和“非建设性”部分。你能重新打开它吗?@Andrew Marshall你能重新打开这个问题吗?关于我的问题,ruby world最近出现了一些新的东西,听到尽可能多的意见会很有趣。如果你错过了,我试着用一种非本地化的、建设性的方式来修改这个问题。Thankstack Overflow不是开放式讨论或接受人们意见的地方。请仔细阅读“当前”一词,它太本地化了。“最积极”使它没有建设性。请阅读。更改问题以解决更具体的问题,并删除“过于本地化”和“非建设性”部分。你能重新打开它吗?@Andrew Marshall你能重新打开这个问题吗?关于我的问题,ruby world最近出现了一些新的东西,听到尽可能多的意见会很有趣。如果你错过了,我试着用一种非本地化的、建设性的方式来修改这个问题。Thankstack Overflow不是开放式讨论或接受人们意见的地方。请仔细阅读这份报告。