【发布时间】:2018-09-15 16:21:57
【问题描述】:
我需要将 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 条记录完全取决于实现。也许这是个好主意,也许不是,但这更多地取决于你的情况。
标签: json go apache-kafka