优化生产数据的数据结构
This commit is contained in:
parent
d5e63c46c2
commit
afe3d487b1
@ -13,8 +13,8 @@ package kafka
|
||||
//
|
||||
// Date : 4:13 下午 2021/9/21
|
||||
type ProducerData struct {
|
||||
Data interface{} // 发送的数据
|
||||
Key string // 分区key
|
||||
Data map[interface{}]interface{} // 发送的数据
|
||||
Key string // 分区key
|
||||
}
|
||||
|
||||
// ProducerResult 数据发送后的结果
|
||||
|
12
producer.go
12
producer.go
@ -141,14 +141,10 @@ func (p *Producer) buildMessage(data ProducerData) *sarama.ProducerMessage {
|
||||
Key: sarama.StringEncoder(data.Key),
|
||||
Timestamp: time.Now(),
|
||||
}
|
||||
switch v := data.Data.(type) {
|
||||
case string:
|
||||
mes.Value = sarama.StringEncoder(v)
|
||||
case []byte:
|
||||
mes.Value = sarama.ByteEncoder(v)
|
||||
default:
|
||||
byteData, _ := json.Marshal(data.Data)
|
||||
mes.Value = sarama.ByteEncoder(byteData)
|
||||
if nil == data.Data {
|
||||
data.Data = make(map[interface{}]interface{})
|
||||
}
|
||||
byteData, _ := json.Marshal(data.Data)
|
||||
mes.Value = sarama.ByteEncoder(byteData)
|
||||
return mes
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user