feat: 升级接口约束以及定义

This commit is contained in:
2026-04-13 17:04:21 +08:00
parent c232fe9317
commit ad44a84718
8 changed files with 195 additions and 0 deletions

53
define/data.go Normal file
View File

@@ -0,0 +1,53 @@
// 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"` // 从哪个队列消费到的数据
}