我需要将RESTAPI调用的输出推送到KAFKA。Restapi 返回 json 输出,其中包含支持信息以及数据输出到 json 中。原始消息
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"`
}
杰森。RawMessage 有 200 条记录的数据。
问题:1. 作为制作人,我应该把整个原始信息作为一个消息放入卡夫卡主题吗?或者解封(解析(json原始消息并将每个消息记录作为消息放置(在这种情况下将有200条记录(2.如果我解组(解析(,数据将不再是json格式。
我在这里不提供任何代码...我的代码可以用GO,python
主题的最终消费者是Spark或自定义程序,它们从主题读取数据并将数据推送到另一个系统。
请让我知道什么是最好的设计/方法?
谢谢
除了一个很大的"视情况而定"之外,没有其他答案:)
这取决于你对数据做什么("推送到另一个系统"只是对数据做某事的一个步骤(,它取决于数据的语义和业务含义。
如果 200 条消息中的每一条消息都独立存在某种意义,独立于其他消息,那么将拆分并作为单独的消息放在 Kafka 上是有意义的。