54 lines
3.1 KiB
Go
54 lines
3.1 KiB
Go
// Package define ...
|
|
//
|
|
// Description : define ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2025-08-22 16:38
|
|
package define
|
|
|
|
// EventData 事件数据
|
|
// - Timestamp: 事件的时间, 毫秒时间戳, 不设置默认当前时间
|
|
// - SystemTimestamp: 系统时间(无需设置,自动填充)
|
|
// - TraceID: 事件trace_id, 关联到触发事件的请求, 若不设置和 MsgID 保持一致
|
|
// - Hostname: 发送事件的机器名称(无需设置,自动填充)
|
|
// - HostIp: 发送事件的机器IP(无需设置,自动填充)
|
|
// - Type: 事件类型, 基于不同的类型, 对data有不同的处理规则
|
|
// - Version: 业务迭代, Data 的数据结构可能发生变化, 使用 version 标记 Data 如何解析, 使用者自行设置于理解
|
|
// - Data: 事件业务数据, 使用者自行设置与理解
|
|
// - Key: 用于哈希队列分片,不设置与MsgID一致
|
|
// - MsgID: 系统随机生成, 每条消息的唯一标识
|
|
type EventData struct {
|
|
Timestamp int64 `json:"timestamp"` // 事件的时间, 毫秒时间戳, 不设置默认当前时间
|
|
SystemTimestamp int64 `json:"system_timestamp"` // 系统时间(无需设置,自动填充)
|
|
TraceID string `json:"trace_id"` // 事件trace_id, 关联到触发事件的请求, 若不设置和 MsgID 保持一致
|
|
Hostname string `json:"hostname"` // 发送事件的机器名称(无需设置,自动填充)
|
|
HostIp string `json:"host_ip"` // 发送事件的机器IP(无需设置,自动填充)
|
|
Type string `json:"type"` // 事件类型, 基于不同的类型, 对data有不同的处理规则
|
|
Data string `json:"data"` // 事件业务数据, 统一使用字符串
|
|
Version string `json:"version"` // 业务迭代, Data 的数据结构可能发生变化, 使用 Version 标记 Data 如何解析, 使用者自行设置与理解
|
|
Key string `json:"key"` // 用于哈希队列分片,不设置与MsgID一致
|
|
MsgID string `json:"msg_id"` // 系统随机生成, 表示唯一一条消息
|
|
Processor string `json:"processor"` // 处理器标识, 必须设置!!!
|
|
}
|
|
|
|
// EventProduceResult 事件生产结果
|
|
// - Queue: 事件消息实际发送到哪一个队列
|
|
// - Success: 事件消息是否发送成功
|
|
// - Err: 事件消息发送失败是的异常信息
|
|
// - Cost: 事件消息发送的耗时
|
|
type EventProduceResult struct {
|
|
Queue string `json:"queue"` // 事件发送在哪一个队列
|
|
Success bool `json:"success"` // 事件发送结果
|
|
Err error `json:"err"` // 发送失败时, 失败原因
|
|
Cost int64 `json:"cost"` // 事件发送耗时
|
|
}
|
|
|
|
// EventConsumerServerInfo 事件消费的系统信息
|
|
type EventConsumerServerInfo struct {
|
|
SystemTimestamp int64 `json:"system_timestamp"` // 系统时间
|
|
Hostname string `json:"hostname"` // 消费事件的机器名称
|
|
HostIp string `json:"host_ip"` // 消费事件的机器IP
|
|
Queue string `json:"queue"` // 从哪个队列消费到的数据
|
|
}
|