我有多个制作人正在编写一个主题,这是策略中定义的默认主题,是否可以在不更改默认主题的情况下创建新主题?换言之,一个制作人可以同时登录多个主题?
im9ewurl1#
换言之,一个制作人可以同时登录多个主题?是的,一个制作人可以制作多个主题。主题与制作人之间不是一对一的关系。例子:
producer.send(new ProducerRecord<String, String>("my-topic", "key", "val"));
这个 send() 方法需要 ProducerRecord 其中包含主题名称。所以我们可以给每个主题取不同的名字 send() 打电话。然而 key.serializer 以及 value.serializer 事项。我们只指定一个 key.serializer 还有一个 value.serializer 按制片人而不是按主题。在这种情况下,您的所有主题消息只能使用这些序列化程序序列化。如果您想支持不同的对象,可以编写一个对所有对象通用的自定义序列化程序(可能是json序列化程序),或者将对象转换为序列化程序可以序列化的格式(例如, String 为了 StringSerializer , byte[] 为了 ByteArraySerializer 等)
send()
ProducerRecord
key.serializer
value.serializer
String
StringSerializer
byte[]
ByteArraySerializer
1条答案
按热度按时间im9ewurl1#
换言之,一个制作人可以同时登录多个主题?
是的,一个制作人可以制作多个主题。主题与制作人之间不是一对一的关系。
例子:
这个
send()
方法需要ProducerRecord
其中包含主题名称。所以我们可以给每个主题取不同的名字send()
打电话。然而
key.serializer
以及value.serializer
事项。我们只指定一个key.serializer
还有一个value.serializer
按制片人而不是按主题。在这种情况下,您的所有主题消息只能使用这些序列化程序序列化。如果您想支持不同的对象,可以编写一个对所有对象通用的自定义序列化程序(可能是json序列化程序),或者将对象转换为序列化程序可以序列化的格式(例如,
String
为了StringSerializer
,byte[]
为了ByteArraySerializer
等)