面试题答案
一键面试Kafka 组件
- Kafka 生产者(Producer):负责将电商订单消息发送到 Kafka 主题(Topic)。这些消息包含用户姓名、手机号、地址等敏感信息。
- Kafka 主题(Topic):作为消息的存储和传输通道。可以设置一个或多个分区(Partition)来提高消息处理的并行性。订单消息会被发送到该主题,等待后续处理。
- Kafka 消费者(Consumer):从 Kafka 主题中拉取订单消息,进行数据脱敏处理。
数据脱敏流程框架
- 消息生产:电商系统中的订单生成模块作为 Kafka 生产者,将包含敏感信息的订单消息发送到特定的 Kafka 主题。例如,当一个新订单产生时,生产者会把订单相关信息封装成消息,发送到 “order - topic”。
- 消息存储与传输:Kafka 主题接收并存储这些订单消息。根据设置的分区策略,消息会分布在不同的分区中。消费者组(Consumer Group)可以从该主题拉取消息进行处理。
- 数据脱敏处理:
- Kafka 消费者从 “order - topic” 拉取订单消息。
- 消费者调用数据脱敏逻辑,对消息中的用户姓名、手机号、地址等敏感信息进行处理。例如,对用户姓名可以采用替换为昵称的方式脱敏,手机号可以只保留前 3 位和后 4 位,地址可以模糊化处理,只保留大致区域等。
- 脱敏后的数据可以选择发送到另一个 Kafka 主题,比如 “desensitized - order - topic”,供后续业务流程(如数据分析、订单处理等)使用,这些后续流程无需再处理敏感信息。
通过这样的流程框架,利用 Kafka 的消息队列特性,实现了数据在传输过程中的脱敏,有效保护了用户隐私。