无法找到适合的云客户端/服务器技术堆栈

时间:2015-04-03 02:34:56

标签: java hibernate cloud

我一直在努力学习和玩一些云计算客户端/服务器交互。我希望获得符合此标准的技术堆栈的建议:

  1. 客户端是使用websockets,long-polling和服务器发送事件异步通信的Web浏览器。
  2. 服务器是可扩展的,并且应该在需要时支持多个实例(对于我的播放/学习情况,我显然不会遇到可伸缩性问题,但我想正确规划它并将使用多个节点进行测试)
  3. 应使用ORM的某些数据库技术保留服务器状态
  4. 服务器状态应该可以缓存
  5. 服务器应该能够支持连接到实例A的Alice执行需要通知实例B的Bob的情况
  6. 没有开发成本(假设我使用自己的硬件)
  7. 我以为我弄清楚了。我在想:

    用于服务器内容和部署的

    JavaEE / Jetty + Maven

    ORM和数据库不可知论的

    Hibernate

    Redis 用于二级缓存和多实例支持

    我的问题是使用各种浏览器协议的客户端/服务器通信,这些协议不同且非常重要,无缝支持。我环顾四周,找到了Atmosphere框架:

    使用websockets,long-polling和服务器发送事件进行客户端/服务器通信的

    Atmosphere 。它显然也支持Redis,但是......

    这一切看起来都很好,直到经过一些研究后我才意识到Atmosphere不支持基于节点的广播(标准#5)。 Atmosphere的Redis支持很浅(localhost只是开箱即用),我需要使用Redis维护某种节点/广播器地图以满足标准#5。 AtmospherePro显然做得很好,但这有一个我无法证明的成本(标准#6)。

    有人可以根据我的标准建议适当的技术堆栈吗?也许是云气准备的大气层的替代品?

1 个答案:

答案 0 :(得分:0)

Play框架支持Scala以及Java的WebSocket支持,我建议您尝试使用Typesafe Activator模板之一:https://typesafe.com/activator/templates