Apache kafka Apache Kafka中的用户活动日志和GDPR删除请求
我计划使用ApacheKafka处理来自许多不同服务的用户活动。其想法是,每个服务都会发送如下所示的消息:Apache kafka Apache Kafka中的用户活动日志和GDPR删除请求,apache-kafka,Apache Kafka,我计划使用ApacheKafka处理来自许多不同服务的用户活动。其想法是,每个服务都会发送如下所示的消息: key: "u001", message: `{type:"account-modify", details:{...}}` key: "u002", message: `{type:"account-modify", details:{...}}` key: "u001", message
key: "u001", message: `{type:"account-modify", details:{...}}`
key: "u002", message: `{type:"account-modify", details:{...}}`
key: "u001", message: `{type:"document-create", details:{...}}`
key: "u001", message: `{type:"comment-added", details:{...}}`
key: "u001", message: `{type:"comment-added", details:{...}}`
这里的键是我数据库中的用户ID,消息将有一个“类型”(活动类型)、一个时间戳和一些根据类型而变化的数据
然后,我会让消费者阅读所有这些数据并生成不同的内容,其中之一是一个很好的用户友好的活动日志,其结构与上面的不同(也许我不想每次用户添加评论时都包括在内,而是显示一个“用户添加了5条评论”消息,可能我不关心此面向用户的日志的某些类型)。该消费者将向常规数据库写入数据,以便应用程序从该数据库读取数据,并将用户友好的数据显示为HTML表
在这一点上,我有一个简单的问题:我为此疯狂使用卡夫卡吗?我选择它的原因是:
- 可伸缩性。这个系统已经相当大了,所以很高兴能够有一个可靠、可扩展、可用的托管卡夫卡安装(可能使用亚马逊服务),以及消费群体的概念,我可以根据需要启动尽可能多的实例来构建面向用户的活动日志
- 分离。最好采用生产者/消费者体系结构,生产者只需发送消息,而无需等待消费者生成数据(例如,面向用户的活动日志)