为kafka用法创建protobuf对象模式

mitkmikd  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(402)

我在用protobuf代替Kafka。我们正在创建许多protobuf消息,但我们仍停留在这两个选项上。想知道做这件事最好的方法是什么?希望这个问题不会被降级,因为它是基于某种观点的!
比如说,我想给Kafka发员工信息。我想使用“id”作为kafka键,值作为“employee”消息,如下所示。
选项1包括“id”。在此选项中,整个对象作为域对象位于一个位置。

message Employee {
 string id;
 string name;
 string title;
}

选项2不包括id,因为它试图使用Kafka密钥(我们正在填充id),并让消费者在从Kafka中取出消息时将它们拼凑在一起?

message Employee {
 string name;
 string title;
}

对这两种方法的优缺点以及已知的最佳实践有什么建议吗?谢谢。

d8tt03nd

d8tt03nd1#

根据我的经验:
消息应包含所有必需的信息。
密钥是消息传递系统了解如何处理消息的辅助信息。
所以,在两种选择中,第一种更可取。

相关问题