1

关于 vert.x 事件总线可扩展性的一个问题。我打算在智能设备(小型)应用程序和远程管理应用程序中使用 vert.x。初步估计将有接近 100K 的智能设备和 3/4 的服务器托管管理应用程序。在这种情况下,您能否建议在智能设备和 Web 应用程序之间使用事件总线(在集群模式下)。我使用事件总线的主要要求是将源自设备的动态通知发送到管理服务器,并在系统出现故障时采取纠正措施。

我最近发布了另一个查询,其中一位用户指出,vert.x 在内部使用网络套接字作为由 hazelcast 支持的事件总线来进行集群模式发现。如果是这种情况,我的假设是可伸缩性将受到管理服务器可以处理的套接字数量的限制。这是正确的吗 ?

如果有人能指出我在 vert.x 事件总线上就 msg 处理性能进行的任何基准测试,也将不胜感激。

4

1 回答 1

0

我使用事件总线的主要要求是将源自设备的动态通知发送到管理服务器,并在系统出现故障时采取纠正措施。

不,为此使用常规 HTTP 请求。EventBus,实际上每个并发的双向网络模型,从根本上不适合这个用例。绝对不要在客户端上使用 Hazelcast;使用 SockJSEventBus桥接器是可能的,但很容易出错,与为这种心跳行为编写简单的 HTTP 端点相比,你肯定会浪费更多时间正确地做到这一点。

我的假设是可伸缩性将受到管理服务器可以处理的套接字数量的限制。这是正确的吗 ?

否。您的可扩展性将受限于您将从设备接收到的数据的持久化方式。Hazelcast 的地图对此很好(通过 访问vertx.sharedData()),但这真的取决于您是否 100% 了解您想要什么。

于 2018-04-10T07:49:44.933 回答