领域事件

领域事件(Domain Event)是在一个特定领域由一个用户动作触发的,是发生在过去的行为产生的事件,而这个事件是系统中的其他部分或者关联系统感兴趣的。

为什么领域事件如此重要?因为在分布式环境下,很少有业务系统是单体的(Monolithic),消息作为分布式系统间耦合度最低,最健壮,最容易扩展的一种通信机制,是我们实现分布式系统互通的重要手段。关于领域事件,我们需要注意两点,分别是事件命名和事件内容。

  1. 事件命名:事件是表示发生在过去的事情,所以在命名上推荐使用Domain Name + 动词的过去式 + Event,这样可以更准确的表达业务语义。
  2. 事件内容:事件内容在计算机术语中叫作payload,有以下两种形式。
    自洽(Enrichment):就是在事件的payload中尽量多放数据,这样的consumer不需要回查就能处理消息,就是自洽的处理消息。
    回查(Query-Back):这种方式只是在payload放置id属性,然后consumer通过回调的形式获取更多数据。这种形式会加重系统的负荷,可能会引起性能问题。

猜你喜欢

转载自blog.csdn.net/gou553323/article/details/112971236