我需要将 RESTAPI 调用的输出推送到 KAFKA。 Restapi 返回 json 输出,其中包含支持信息以及数据输出到 json.RawMessage
type Response struct {
RequestID string `json:"requestId"`
Success bool `json:"success"`
NextPageToken string `json:"nextPageToken,omitempty"`
MoreResult bool `json:"moreResult,omitempty"`
Errors []struct {
Code string `json:"code"`
Message string `json:"message"`
} `json:"errors,omitempty"`
**Result json.RawMessage `json:"result,omitempty"`**
Warnings []struct {
Code string `json:"code"`
Message string `json:"message"`
} `json:"warning,omitempty"`
}
json.RawMessage 有 200 条记录的数据。
问题: 1.作为生产者,我是否应该将整个原始消息作为一条消息放入kafka主题中?或者解码(解析)json 原始消息并将每条消息记录作为一条消息(在这种情况下将有 200 条记录) 2. 如果我解码(解析)数据将不再是 json 格式。
我在这里不提供任何代码...我的代码可以在 GO、python 中
主题的最终消费者是 Spark 或自定义程序,它们从主题读取数据并将数据推送到另一个系统。
请让我知道什么是最好的设计/方法?
谢谢
请您参考如下方法:
除了一个伟大的“这取决于”之外没有其他答案 :)
这取决于您对数据的处理方式(“推送到另一个系统”只是处理数据的一个步骤),并且取决于数据的语义和业务意义。
如果您的 200 条消息中的每条消息都具有独立于其他消息的意义,那么在 Kafka 上拆分并作为单独的消息放置是有意义的。






