【问题标题】:Reliable Stateful Service vs. Event Hub可靠的有状态服务与事件中心
【发布时间】:2016-05-03 09:41:08
【问题描述】:

借助微软新的微服务框架,可以构建有状态的服务。是否可以使用这样的服务来接收来自不同设备的数据而不是使用事件中心?例如。我的设备将数据推送到无状态 Web api 服务(可能使用 SignalR 近乎实时),并且 api 服务将数据转发到可靠队列中的可实现的有状态服务。或者找一个靠谱的演员。

这些服务是可扩展的,那么我为什么要为此目的使用事件中心?在没有事件中心的情况下将数据直接发送到服务是否存在任何性能或延迟问题?

【问题讨论】:

    标签: azure asp.net-web-api signalr azure-service-fabric azure-eventhub


    【解决方案1】:

    是的,在理论上和实践中,您都可以构建自己的无状态服务,该服务具有高度可扩展性,并且可以根据需要接受尽可能多的负载。在大多数情况下,这是可以接受的。

    就金钱而言,与 Event Hub 订阅相比,托管仅接收数据并转发给 Actor 的服务实例将花费更多。您必须为每个 Service Fabric 实例付费,并实际编写业务逻辑来处理可扩展性,即使 SF 让它变得微不足道,仍然存在故障和错误的空间。

    活动中心旨在承受大多数项目无法达到的极其庞大的规模。它们针对低延迟进行了优化,每秒可轻松处理数百万个请求。如果这不是您的情况,请不要打扰。

    您只需要在您的结构中运行一个事件中心事件侦听器,因为它充当消息流的可靠“前门”,并使服务器架构更加简单和可靠。这主要是一个架构决策,取决于项目。

    【讨论】:

    • 谢谢!无状态后端 api 服务已经作为我的应用程序入口点存在。好的,我正在尝试将 api 服务用于少数设备。但我明白你的意思,当我有更多设备时,使用消息系统可能更明智。我想知道与作为设备入口点的自己的服务相比的性能。我试图避免使用过多的云服务,因为如果客户需要,最终会迁移到私有云。
    猜你喜欢
    • 2016-04-18
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 2016-07-26
    相关资源
    最近更新 更多