【问题标题】:Azure ServiceBus vs ServiceRemoting, HTTP and WCFAzure 服务总线与服务远程处理、HTTP 和 WCF
【发布时间】:2019-03-06 18:46:45
【问题描述】:

documentation of Service Fabric推荐服务远程处理,ICommunicationClient或WcfCommunicationClient来实现微服务之间的通信。

我一直用于服务间通信的 ServiceBus 甚至没有被提及。为什么?

【问题讨论】:

    标签: azure wcf azure-service-fabric azureservicebus remoting


    【解决方案1】:

    我认为您误解了文档。它不推荐任何协议或服务(页面上甚至没有这个词)。它所做的是列出内置的通信选项以及何时使用它们的适当情况。

    没有什么可以阻止您使用服务总线进行服务间通信。事实上,如果你在周围搜索一下,你会发现一些类似this one的项目

    插入任何所需服务或协议的能力是 SF 的一大优点,但它们将实现留给您。

    【讨论】:

      【解决方案2】:

      有很多方法可以进行服务到服务的通信,如果他们必须记录所有这些,他们将花费更多的时间来编写可能的方法而不是进行实际的通信。

      他们可能会选择与平台关系最密切的那个,但他们可以写任何可能的东西,这只是一个偏好问题。

      我可以从很多中列举几个,只是为了有个想法:

      • http
      • 远程处理
      • WCF
      • 服务总线
      • 活动中心
      • AMQP
      • MQTT
      • gRPC + protobuf
      • TCP
      • UDP
      • 管道

      还有更多,想象一下,如果他们必须记录所有这些。

      通信足够灵活,可以让您使用任何通信机制来实现。

      关于你提到的那些, 我总是选择 HTTP,因为它与平台无关并在大多数平台上广泛实施,不管是 .Net、Java、NodeJs、Windows 还是 Linux,它们都使用相同的语言,其他的对 .Net 和 Windows 非常严格平台并强制所有其他解决方案也被收紧或适应。还有一些是同步的,而另一些是异步的,比如服务总线。

      然后,当性能成为问题时,我会评估其他选项。

      【讨论】:

        猜你喜欢
        • 2021-12-19
        • 2012-10-02
        • 1970-01-01
        • 1970-01-01
        • 2018-11-18
        • 1970-01-01
        • 2017-01-13
        • 2020-07-20
        • 2017-11-01
        相关资源
        最近更新 更多