优化
This commit is contained in:
@@ -2,14 +2,14 @@ USE baiyue_order;
|
||||
|
||||
-- 可靠审计本地 Outbox;与订单业务表位于同一数据库。
|
||||
CREATE TABLE IF NOT EXISTS sys_audit_outbox (
|
||||
event_id VARCHAR(64) NOT NULL, event_type VARCHAR(64) NOT NULL, resource_type VARCHAR(64) NOT NULL,
|
||||
resource_id VARCHAR(128) NULL, service_name VARCHAR(64) NULL, payload_json JSON NOT NULL,
|
||||
status VARCHAR(16) NOT NULL DEFAULT 'PENDING', attempt_count INT NOT NULL DEFAULT 0,
|
||||
compensation_count INT NOT NULL DEFAULT 0,
|
||||
next_retry_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), lease_owner VARCHAR(128) NULL,
|
||||
lease_until DATETIME(3) NULL, last_error VARCHAR(1000) NULL, dead_at DATETIME(3) NULL,
|
||||
sent_at DATETIME(3) NULL, created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
||||
event_id VARCHAR(64) NOT NULL COMMENT '审计事件全局唯一ID', event_type VARCHAR(64) NOT NULL COMMENT '审计事件类型', resource_type VARCHAR(64) NOT NULL COMMENT '被审计资源类型',
|
||||
resource_id VARCHAR(128) NULL COMMENT '被审计资源ID', service_name VARCHAR(64) NULL COMMENT '来源服务名称', payload_json JSON NOT NULL COMMENT '脱敏后的审计事件内容',
|
||||
status VARCHAR(16) NOT NULL DEFAULT 'PENDING' COMMENT '发送状态:PENDING待发送、SENDING发送中、SENT已发送、DEAD进入死信', attempt_count INT NOT NULL DEFAULT 0 COMMENT '当前重试周期发送次数',
|
||||
compensation_count INT NOT NULL DEFAULT 0 COMMENT '自动补偿发送次数',
|
||||
next_retry_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '下一次重试时间', lease_owner VARCHAR(128) NULL COMMENT '当前租约持有者',
|
||||
lease_until DATETIME(3) NULL COMMENT '发送租约截止时间', last_error VARCHAR(1000) NULL COMMENT '最近一次发送错误信息', dead_at DATETIME(3) NULL COMMENT '进入死信时间',
|
||||
sent_at DATETIME(3) NULL COMMENT '成功发送时间', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '记录创建时间',
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '记录更新时间',
|
||||
PRIMARY KEY (event_id), KEY idx_audit_outbox_publish (status, next_retry_at, lease_until, created_at),
|
||||
KEY idx_audit_outbox_retention (status, sent_at)
|
||||
) ENGINE=InnoDB COMMENT='可靠审计事件本地发送箱';
|
||||
|
||||
Reference in New Issue
Block a user