使用kafka的微服务数据共享

0aydgbwb  于 2021-06-05  发布在  Kafka
关注(0)|答案(0)|浏览(305)

有这样一种情况/要求:两个微服务需要共享两个数据库(dynamo db)的数据。
卡微服务需要知道客户的基本信息(仅包括姓名和地址信息)。
客户微服务需要列出卡中拥有/列出的卡(带有主卡信息卡编号/类型)。
试图用自己共享的数据保存每个微服务。数据的格式是客户id和卡id。
将使用限制为没有kafka流/sql且不涉及cqr的kafka,方法是,
将以上信息保存在card db(dynamodb)中,包含card info和customer id。
dynamo db streams data->lambda->获取以前的卡id、卡信息、客户id。发送kafka事件(事件:卡(客户创建,主题:卡)
Kafka消费者->客户微服务。用客户信息更新/创建上述信息卡信息。
创建kafka事件->带有客户信息、卡id(事件:客户卡更新,主题:客户)
Kafka消费者->卡微服务。根据事件更新客户信息。
如果失败,则发出相应的card\u customer\u ass\u deleted/customer\u card\u ass\u deleted事件来回滚或删除关联。
问题
现在,我是不是错过了/过于复杂了?
如何为与这两个实体相关联的Kafka事件命名/选择主题?客户卡更新后能否命名为客户卡更新后?我们正在为初始事件启动选择卡片主题,因为ui是这样流动的。
我们应该为客户创建一个新的主题吗?
最后,我们是否需要抛出一些事件,如card\u customer\u ass\u completed,customer\u card\u ass\u completed来表示上述任务的完成?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题