Kafka架构:将用户数据从SSO同步到许多微服务



我有一个用于注册用户(SSO(的微服务和40多个使用SSO用户的微服务(所有微服务都在您的数据库中有用户数据的部分副本,如用户名、电子邮件、电话、姓名等(。今天,我们已经使用webhook来同步数据。现在我们正在研究如何与卡夫卡一起运行。问题是:我有40多个微服务,我需要为每个微服务创建一个主题,或者可以创建一个话题"用户";所有的微服务都从中读取了变化?如果我能创建一个主题,如何保证一个微服务不能读取相同的数据2次或更多次?

如果需要,知道我们使用的编程语言是python

需要为每个微服务创建一个主题

不清楚为什么你认为这是必要的

可以创建一个主题"用户";所有微服务都从这个中读取更改

当然。或者,仅";一个服务";如下面所建议的,以创建用户的KTable。

如何保证一个微服务不能读取相同的数据2次或更多次

您可以为每个服务使用唯一的group.id,并且您需要启用适当的设置来启用EOS语义,因为默认情况下Kafka只能提供至少一次交付,这意味着您可以获得数据"2或更多";次。。。

然而,更好的方法是使用交互式查询(或Python用户的kSQLDBRESTneneneba API(来创建CQRS模式,而不是使用;每个服务的数据库";方法

或者KafkaConnect也可以用来填充那些部分数据库。

最新更新