gpt4 book ai didi

Azure Web API - 如何在服务之间进行通信

转载 作者:行者123 更新时间:2023-12-03 01:50:49 25 4
gpt4 key购买 nike

我目前正在 Azure 中开发基于 SOA 的架构,使用不同的 Web API 服务(它们可能符合微服务的资格,但我对使用这个术语犹豫不决)。

我有一项由 Azure 调度程序触发的服务。它执行一些“操作”,然后需要调用另一个 Web API(通过 HttpClient)服务来触发其他操作。为此,我需要知道第二个服务的 URI。在本地运行时,这很好,因为它类似于

发布http://localhost:1234/2ndService/api/action

但是,当我部署到 Azure(使用“仅限内部”作为访问级别)时,它会获得一个模糊的 URI,例如 http://microsoft-apiapp8cf3d453-39d8-4b3b-ad00-e9d8008a9b58 ,我显然无法在部署时猜测。

关于如何解决这个问题有什么想法吗?或者我在这里犯了一个根本性的错误?

最佳答案

您是否考虑过通过 queues in Azure Table Services 传递消息,而不是依赖公共(public) http 端点?这样做非常简单,而且会更加健壮,因为您可以利用有保证的消息传递等内置功能。<​​/p>

总体思路是服务 A 执行一些“操作”,然后将消息放入队列 ONE 中。服务 B 不断从队列 ONE 中读取数据,直到它从服务 A(或任何其他相关服务)获取新消息,然后执行“STUFF”操作。您可以继续将这样的调用链接到需要通知的其他服务。

如果你想要一个更优雅的解决方案,你可以考虑使用 Service Bus Topics但概念基本相同。

此外,既然您提到您的架构很像微服务,您可以查看新的 Service Fabric这是专为您的场景设计的。

关于Azure Web API - 如何在服务之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37250832/

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