# 《Seckill秒杀系统》第40章:秒杀商品发送缓存领域事件的设计与实现

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
课程视频:https://t.zsxq.com/13378R2k4 (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★★☆☆
  • 本章重点:介绍秒杀商品发送缓存领域事件的设计与实现,重点掌握在DDD领域架构模式下,采用Cola框架发送秒杀商品事件变更的方法,并能够灵活运用到自身实际项目中。
  • 课程视频:https://t.zsxq.com/13378R2k4 (opens new window)

大家好,我是冰河~~

在秒杀系统运营管理端,添加完秒杀商品和更新秒杀商品状态后,会在领域层对外发送缓存领域事件,应用层会监听这些事件,收到事件后更新缓存中的数据。

# 一、前言

秒杀商品监听缓存领域事件的逻辑已经在前面的文章中实现,也就是说,目前已经做好了监听事件的准备,只要有事件发送过来,就会收到相应的事件,从而能够及时更新缓存中的数据。

# 二、本章诉求

实现秒杀系统中添加秒杀商品和变更秒杀商品状态时,由领域层对外发布相应的缓存领域事件。这些缓存领域事件会被发送到Cola中,由应用层监听Cola中的事件,接收到事件后,会及时更新缓存中的数据。本章,就对秒杀商品发送缓存领域事件的流程进行设计与实现。

# 三、流程设计

本节,从发送缓存领域事件的流程和类结构两个方面来对监听缓存领域事件的流程进行简单的设计。

# 3.1 发送流程设计

在秒杀系统中,针对秒杀系统中缓存数据的变更,发送领域事件的流程如图40-1所示。


可以看到,添加秒杀商品和更新秒杀商品状态后,领域层将事件封装成对应的事件模型发布到Cola,应用层会监听Cola中的事件,并且接收对应的事件,接收到事件后同步商品列表和商品详情的缓存。

# 3.2 类结构设计

在秒杀系统中,发送缓存领域事件涉及到的类结构如图40-2所示。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章与完整代码