WebSocket:后端的最佳解决方案

时间:2013-10-11 15:43:37

标签: java javascript websocket backend

即兴网络应用程序是当今的一个热门话题,但似乎没有一个独特的解决方案。特别是对于后端,独立于编程语言。

我打开这个主题,讨论为社区提供的各种解决方案。

我尝试过Atmosphere,但体验有点令人沮丧。 我花了很多时间玩这个框架,结果发现它不是完全开发人员友好的。首先是一个基于maven的项目:除了文档之外,开发人员还必须学习(或至少知道)maven是如何工作的以及pom.xml是什么。 概念看起来很简单,但它有很多java注释,在我看来,这往往会让事情变得太复杂。该框架的优势在于能够决定和使用客户端支持的协议。

从我读到的内容看,node.js似乎更适合开发人员。 您如何看待这些技术?

2 个答案:

答案 0 :(得分:6)

我是CometD的项目负责人,这是一个与传输无关的Web消息传递框架(websocket with fallback to http),并提供了许多功能,如消息确认和clustering以及许多其他功能

CometD也基于Maven,但它的工件可以与你已经拥有的任何其他构建系统一起使用(Ant,Ivy,Gradle等)。

CometD concepts非常简单,您可以编写annotateduse inheritance的服务。

CometD可伸缩性非常棒:我们的负载测试中的单个服务器能够处理200k websocket客户端,而其他人甚至可以达到更多(https://twitter.com/myBuzzNight/status/388024046027161600)。

根据我的报告,CometD学习曲线非常低。 一个人在几天内设置e-chat.co

您可以使用one liner设置骨架CometD项目,甚至可以使用CometD tutorials使用的预制骨架项目。

JavaScript是它的语言,你可能会发现,如果你的项目增长超过一定的规模,你希望保留一个静态类型的语言,如Java的重构,工具,IDE等,而不是提及可供JVM监控/管理的工具等。

JVM在多线程场景(如服务器端事件驱动的应用程序)中的可伸缩性是众所周知的。

与其他解决方案一样,如果您需要专业支持,CometD为backed by a company

答案 1 :(得分:3)

我强烈推荐node.js。

它是用javascript编写的,我个人非常希望能够坚持使用网络语言。

此外,您可以使用socket.io,它使用node.js实现websockets。