我需要将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或自定义程序,它从主题中读取数据并将数据推送到另一个系统。
请让我知道最佳设计/方法是什么?
由于
答案 0 :(得分:0)
没有其他答案,而不是一个伟大的“它取决于”:)
它取决于你正在对数据做什么(“推送到另一个系统”只是对数据做一些事情的一步),它取决于数据的语义和业务含义。
如果您的200条消息中的每条消息都独立于其他消息,那么将其拆分并将其作为单独的消息放在Kafka上是有道理的。