有或没有 Akka.NET 的微服务开发

Microservice development with or without Akka.NET

我们正在尝试实施微服务架构,使用 Asp.NET 核心在当前环境中创建我们的新应用程序。我们的第一代微服务将使用 Request/Reply 通信模式,不需要任何 Message Broker。然而,我们将在 2 年后拥有一个 Message Broker。

在 av 开发方面是否需要付出很多努力才能使我们的微服务适应使用 Message Broker 并在两年后采用 Publish/Subscribe 通信模式?

有什么好的方法?我们是否应该在没有 Message Broker 的情况下使用 Akka.NET 之类的东西?我们应该稍后实施 Akka.net 以使微服务使用 pub/sub 通信模式吗?

感谢并感谢各种建议。

从一开始就做对。微服务的主要目的是松耦合服务。您最初可能没有意识到,但在某些时候您可能需要它。技术上 req/resp 是重构的整体。将事件驱动架构与消息代理一起使用稍微复杂一些,但好处是深远的。想象一下你有越来越多的微服务加入俱乐部,使用 pub sub 会很容易。

回到你的第二点,稍后重构和包含消息代理可能需要付出很大的努力。例如您决定采用 CQRS 和事件溯源,这是分布式应用程序非常常见的模式。您需要对您的系统进行主要的重新设计。但对于简单的应用程序,这些模式可能不是必需的,并且根据您的业务需求,您必须决定您的服务的弹性、可用性和解耦程度,以及在可以简单地满足需求时是否值得付出努力。

如果你想要真正的微服务架构,那么它从消息代理可能实现的异步通信开始。

希望对您有所帮助。