【发布时间】:2020-07-07 12:44:07
【问题描述】:
它是一个运行 ASP.NET Core MVC 2.1 的 Web 应用程序,最初是一个 ASP.NET MVC 3 应用程序,并且已经发展了 5 年。
我已经为不同的业务流程定义了服务,但在某些时候,其中许多服务相互依赖。最终结果是具有许多依赖项和一些循环引用的服务。
例如,服务 A 执行了一个动作,然后它触发了服务 B 中的另一个动作。然后必须将最终结果发送回用户。当然,这是一种简化。
在某些情况下,我使用 Azure 服务总线来解耦进程。这样,服务 A 执行一个动作,然后将一个触发服务 B 中的进程的动作排队。然后服务 B 将向 Web 应用程序发送一个 HTTP 请求以通知用户。这种方法效果很好,但我不确定是否应该在系统范围内应用它。这肯定会增加复杂性,因为调试并不是那么简单。
我知道有人会说“使用微服务”,但这是一个很大的变化,现在我需要为所有流程建立一个数据库。
我发现应用于 Azure 服务总线的请求-响应模式非常有用,但我找不到任何代码示例。文档在这里:https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions#request-response-pattern
欢迎任何建议:)
【问题讨论】:
标签: c# asp.net-core architecture azure-servicebus-queues