gpt4 book ai didi

azure-service-fabric - Service Fabric 应用程序之间的通信

转载 作者:行者123 更新时间:2023-12-04 20:34:19 25 4
gpt4 key购买 nike

我们在不同的 Service Fabric 应用程序中对不同的功能进行了分组。每个 Service Fabric 应用程序负责一定范围内的一组功能(例如,新闻、博客、用户都是独立的应用程序)。不同的团队可以处理这些功能范围。

每个应用程序都有一个公共(public) REST API,例如/users 或/news 或/blogs。因此,公共(public)网站可以调用这些端点并检索/发布信息。

但是,很多时候这些应用程序需要相互通信。但是设置它的最佳方法是什么?据我现在所见,有两种方法可以走:

  • 在每个应用程序上创建一个新的 HTTP 端点,该端点仅供内部使用(使用其自己的未公开发布的 IP 端口)。松耦合。
  • 使用 RPC 调用(但这会在应用程序之间创建一个“硬”链接)。强耦合。

  • 现在我认为单独的 HTTP 端点将是可行的方法,但我想知道 RPC 调用是否更好?从设计理念来看,是否允许在应用程序之间使用 RPC 调用?或者当应用程序更新并且界面发生变化时,这会给我带来麻烦吗?

    或者这里有另一种模式可以使用吗?

    最佳答案

    当然,当您更改服务签名或添加新内容时,您将不得不重写某些内容。因此,在这两种情况下,您都必须触摸已更改的代码和调用代码。

    RPC 的问题在于您需要在任何您想使用该服务的地方都可以访问此接口(interface)。所以你实际上不能独立升级服务。 HTTP 通信可以解决这个问题。

    但是对于 HTTP 通信,您需要编写相当复杂的代码,这将导致:

  • 新错误的地方
  • 新人理解逻辑和架构的困难
  • 可能你需要测试并且有人必须维护它们
  • 您需要考虑如何注册更新——应该首先更新哪个服务

  • 是的,你正在摆脱依赖(对我来说并不完全),但工作量和维护量也有所增加。而且 RPC 既便宜又简单。

    只有在单独升级服务至关重要并且任何服务的升级不应停止或影响任何其他服务的工作时,我才会使用 HTTP over RPC。

    关于azure-service-fabric - Service Fabric 应用程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38827484/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com