怎样将微服务和无服务器相结合?用新型事件驱动型架构CQRS!

开发人员改变一行代码并将其安全地部署到生产中的速度有多快?

新开发人员快速上手并安全地更改代码库的速度有多快?

无服务器具有学习曲线,但有助于提高微服务的速度。它将大量工作流程管理从核心组件移出,放入独立升级和部署的小型可组合功能中,从而提高速度。这在最大程度上缩短了开发人员了解单个功能的工作原理以及如何安全更改所需的时间。

无服务器功能也易于升级或部署,但可能会让了解整体系统更加复杂。将数百个无服务器功能作为一个整体来管理,这听起来就有点头大。

复杂性

软件中的复杂性无可避免,随着代码库逐渐老化,复杂性也随时间增加。当复杂性增加,或者当框架或语言过时的时候,一体化应用就变得笨重、难以改变。微服务器将这种复杂性分解到分布式系统中,其中的每个可部署单元都易于理解,易于由一小部分敏捷开发人员进行更改。

云原生CQRS参考应用

这里有一个将云原生CQRS应用,构建为事件驱动型微服务和无服务器功能相结合的参考应用。