Events 当我们的应用程序中已经有事件时,为什么我们可能需要事件源?

Events 当我们的应用程序中已经有事件时,为什么我们可能需要事件源?,events,microservices,cqrs,event-sourcing,Events,Microservices,Cqrs,Event Sourcing,我已经浏览了很多关于活动来源和CQR的链接和信息。但是,我仍然不理解他们的正当需要。我可以推断,它肯定会带来复杂性和可伸缩性问题 对我来说,主要的好处是能够随着时间的推移重构域模型 使用ORM,您通常会得到不容易更改的数据库结构。几年后,数据库结构更改和数据迁移的成本可能会很高 使用事件源,可以从事件流计算读取模型。您只需创建一个新的投影函数并拥有一个新的数据库(您的读取模型) 对我来说,主要的好处是能够随着时间的推移重构域模型 使用ORM,您通常会得到不容易更改的数据库结构。几年后,数据库结

我已经浏览了很多关于活动来源和CQR的链接和信息。但是,我仍然不理解他们的正当需要。我可以推断,它肯定会带来复杂性和可伸缩性问题


对我来说,主要的好处是能够随着时间的推移重构域模型

使用ORM,您通常会得到不容易更改的数据库结构。几年后,数据库结构更改和数据迁移的成本可能会很高

使用事件源,可以从事件流计算读取模型。您只需创建一个新的投影函数并拥有一个新的数据库(您的读取模型)


对我来说,主要的好处是能够随着时间的推移重构域模型

使用ORM,您通常会得到不容易更改的数据库结构。几年后,数据库结构更改和数据迁移的成本可能会很高

使用事件源,可以从事件流计算读取模型。您只需创建一个新的投影函数并拥有一个新的数据库(您的读取模型)


还有许多其他好处在中解释。

事件源的要求看起来像是源代码控制系统的要求

  • 我们需要恢复过度写入的数据的能力
  • 我们需要能够支持时态查询,这意味着我们需要能够回答关于域模型在过去看起来如何的问题
一种双重的思考方式:

  • 我们需要能够审核模型中的每个更改,但模型太复杂,无法在每次更改后备份整个数据集

换句话说,如果您的数据模型存储在git的对象数据库中,您可以增加哪些业务价值?

事件源的要求看起来像是源代码管理系统的要求

  • 我们需要恢复过度写入的数据的能力
  • 我们需要能够支持时态查询,这意味着我们需要能够回答关于域模型在过去看起来如何的问题
一种双重的思考方式:

  • 我们需要能够审核模型中的每个更改,但模型太复杂,无法在每次更改后备份整个数据集

换句话说,如果您的数据模型存储在git的对象数据库中,您可以增加什么业务价值?

“肯定会带来……可伸缩性问题。”-您这么说是什么意思?“肯定会带来……可伸缩性问题。”-您这么说是什么意思?