微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache Kafka中的用户活动日志和GDPR删除请求

如何解决Apache Kafka中的用户活动日志和GDPR删除请求

我计划使用Apache Kafka处理来自许多不同服务的用户活动。这个想法是,每个服务都将发送如下消息:

key: "u001",message: `{type:"account-modify",details:{...}}`
key: "u002",details:{...}}`
key: "u001",message: `{type:"document-create",message: `{type:"comment-added",details:{...}}`

这里的键是我数据库中的用户ID,消息将具有“类型”(活动类型),时间戳和一些根据类型而变化的数据。

然后,我将让消费者读取所有这些数据并产生不同的结果,其中之一将是一个很好的用户友好的活动日志,其结构与上面的结构不同(也许我不想每次都包括在内用户添加评论,但显示一条“用户添加了5条评论”消息,也许我不在乎此面向用户日志的某些类型)。该使用者将写入常规数据库,以便应用程序从那里读取数据,并将用户友好的数据显示为HTML表。

这时我有一个简单的问题:我为此疯狂地使用Kafka吗?我选择它的原因是:

  • 可扩展性。该系统已经非常庞大,因此能够进行可靠的,可扩展的,可用的托管Kafka安装(可能使用Amazon服务)以及所有这些方面以及用户组的概念使我感到高兴,我可以启动尽可能多的实例根据需要构建面向用户的活动日志的事情。
  • 分离。希望有一种生产者/消费者体系结构,其中生产者可以只发送消息而不必等待消费者产生数据(例如,面向用户的活动日志)。

现在,有一些担忧。我一直在阅读有关如何在Kafka中处理GDPR删除请求的信息,似乎当您为密钥发送“逻辑删除”消息时,它将删除该密钥的所有消息。但是,这似乎需要“紧凑清理策略”,我不确定这到底意味着什么。从文档中看来,“紧凑”意味着Kafka将定期删除每个密钥中的每条消息,但最新消息除外。 是真的吗?并且,我可以使用“逻辑删除”消息删除系统中单个用户记录的所有活动,但保持单独的消息(即我的活动日志)完整吗?

最后,冒着真的冒这个大问题的风险,这对我的系统来说是一个好的设计吗?卡夫卡能满足我的需求吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?