// 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"` // 从哪个队列消费到的数据 }