Architecture 为什么不采用单片事件驱动体系结构?

Architecture 为什么不采用单片事件驱动体系结构?,architecture,event-driven,Architecture,Event Driven,我一直在构建事件驱动的微服务。 然后,我想知道,为什么不使用事件驱动的单片应用程序呢 现在不利的一面是可伸缩性问题。我将无法为特定的流量密集型域制作副本 但除此之外,我还有很多其他好处,比如 最终一致性 我个人也发现使用正确的设置进行调试更容易,因为我可以重播事件 降低了复杂性。域之间的解耦(我们仍然在文件夹中管理域) 此外,我们还有整体式的好处:主要是减少了devops 当应用程序变得流行(以及更多的流量)时,我们可以轻松地将其转换为微服务。我认为将代码从非事件驱动转换为事件驱动是最具挑战性的

我一直在构建事件驱动的微服务。 然后,我想知道,为什么不使用事件驱动的单片应用程序呢

现在不利的一面是可伸缩性问题。我将无法为特定的流量密集型域制作副本

但除此之外,我还有很多其他好处,比如

  • 最终一致性
  • 我个人也发现使用正确的设置进行调试更容易,因为我可以重播事件
  • 降低了复杂性。域之间的解耦(我们仍然在文件夹中管理域)
  • 此外,我们还有整体式的好处:主要是减少了devops

    当应用程序变得流行(以及更多的流量)时,我们可以轻松地将其转换为微服务。我认为将代码从非事件驱动转换为事件驱动是最具挑战性的部分,因为它显著地改变了整个体系结构

    我能想到的一个批评是,仅仅为一块巨石管理一个事件总线是否值得? 如果我使用像ApacheKafka这样的东西,它非常昂贵,而且管理起来很有挑战性,那么它可能不值得

    但是,如果我使用NATS流或Redis流之类的东西,它们或多或少与apache kafka做着相同的工作,但重量轻且更易于管理,那么我认为这也不会是一个问题


    当我使用谷歌时,我找不到关于这些想法的文章,所以我想知道我是否错过了一些重要的东西。

    一个要考虑的事情是,他们不知道整体/微观服务的事情-他们只是在你的领域中发生的事件模型。他们可以用在一个整体很好。谢谢!我很确定我没有用谷歌搜索正确的关键词