【问题标题】:Trouble finding a cloud client/server technology stack that fits找不到适合的云客户端/服务器技术堆栈
【发布时间】:2015-04-03 02:34:56
【问题描述】:

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

  1. 客户端是使用 websocket、长轮询和服务器发送事件进行异步通信的 Web 浏览器。
  2. 服务器是可扩展的,并且在需要时应该支持多个实例(对于我玩/学习的情况,我显然不会遇到可扩展性问题,但我想正确地规划它并将使用多个节点进行测试)
  3. 服务器状态应该使用一些带有 ORM 的数据库技术来持久化
  4. 服务器状态应该可以被缓存
  5. 服务器应该能够支持连接到实例 A 的 Alice 执行需要通知连接到实例 B 的 Bob 的情况
  6. 无开发成本(假设我使用自己的硬件)

我以为我已经弄清楚了。我在想:

JavaEE/Jetty + Maven 用于服务器的东西和部署

Hibernate 用于 ORM 和数据库不可知论

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

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

Atmosphere 用于使用 websocket、长轮询和服务器发送事件的客户端/服务器通信。它显然也支持 Redis,但是...

这一切看起来都很好,直到经过一些研究后,我意识到 Atmosphere 不支持基于节点的广播(标准 #5)。 Atmosphere 的 Redis 支持很浅(仅本地主机开箱即用),我需要使用 Redis 维护某种节点/广播映射以满足标准 #5。 AtmospherePro 显然在这一切方面都做得很好,但这有我无法证明的代价(标准 #6)。

谁能根据我的标准推荐合适的技术堆栈?也许是云就绪的 Atmosphere 的替代品?

【问题讨论】:

    标签: java hibernate cloud


    【解决方案1】:

    Play 框架支持 ScalaJava 的 WebSocket,我鼓励您尝试其中一个 Typesafe Activator 模板:https://typesafe.com/activator/templates

    【讨论】:

    • Play 框架看起来很有趣,我去看看,谢谢!
    • 看起来Play框架是无状态的,如何轻松实现场景#5?
    • 是的,但是您可以轻松创建有状态的 Akka actor 并保留 #5 的逻辑
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2021-08-14
    • 1970-01-01
    • 2014-08-06
    • 2011-05-22
    • 2019-04-22
    • 2012-03-27
    • 1970-01-01
    相关资源
    最近更新 更多