使用场言七墨 景:
系统解耦、异步、多服务订阅消息、消息可靠性、消
发送端:
流程图:

表结构:
CREATE TABLE `mq_publish` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`group_no` varchar(50) NOT NULL COMMENT '消息组号(用于记录会话id)',
`message_id` varchar(50) NOT NULL COMMENT '消息id',
`body` varchar(10500) NOT NULL COMMENT '消息内容',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '消息状态:-1-发送失败;0-未发送;1-发送成功;2-发送中',
`reason` varchar(200) DEFAULT NULL COMMENT '失败原因',
`retries` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数',
`exchange` varchar(50) NOT NULL COMMENT '交换机',
`routing_key` varchar(50) NOT NULL COMMENT '路由键',
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE `unq_messageid` USING BTREE (`message_id`)
) ENGINE = InnoDB CHARSET = utf8mb4 COMMENT 'MQ 发送端表';
消言七墨 费端:
流程图:

表结构
CREATE TABLE `mq_consume` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`group_no` varchar(32) NOT NULL COMMENT '同属一个组类别的标识号码,比如:同一个orderNo下的message消息',
`seq_no` int(10) NOT NULL DEFAULT '0' COMMENT '同一个组下面message的序号,代表其业务顺序',
`message_id` varchar(32) NOT NULL COMMENT '消息的唯一ID',
`body` varchar(2000) NOT NULL DEFAULT '' COMMENT '消息体',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '消息消费状态,默认为未消费:-3-异常订单;-2-消费顺序错误;-1-消费异常;-0-未消费;1-已消费',
`retry_counts` int(11) NOT NULL DEFAULT '0' COMMENT 'JOB重试次数',
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY USING BTREE (`id`),
UNIQUE `uniq_message_id` USING BTREE (`message_id`),
UNIQUE `uniq_group_no_seq_no` USING BTREE (`group_no`, `seq_no`)
) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARSET = utf8mb4 COMMENT 'MQ 消费端表';