当前位置:   article > 正文

Rabbitmq实现多系统间的分布式事务,保证数据一致性_rabbitmq如何保证不同系统数据一致性

rabbitmq如何保证不同系统数据一致性

一、实验环境

Lunix系统:Centos7.5
安装软件:rabbitmq
开发工具:IDEA

二、实验目的

Rabbitmq实现多系统间的分布式事务,保证数据一致性

三、实验方案

rabbitmq作为消息中间件
订单中心运单中心分别作为消息的生产者和消息的消费者,通过rabbitmq传递消息
订单中心作为生产者,模拟用户创建订单,在本地持久化订单信息,记录消息的状态信息,并将消息发送到rabbitmq,同时开启confirm机制,接收消息中间件rabbitmq的响应信息,更新本地消息发送状态(定时任务轮训消息状态信息表,一定时间内未发送成功的数据将再次发起推送,保证atlest
once.
运单中心作为消费者,消费rabbitmq中的订单信息,开启ack确认机制,确保不遗漏订单。并通过消息全局唯一ID保证数据的唯一性,不重复处理订单。

四、实验步骤

1、消息队列

1.1 rabbitmq安装过程略过。。。。

1.2 创建订单交换器:orderExchange

在这里插入图片描述

1.3 创建订单队列:orderQueue

在这里插入图片描述

1.4 绑定

在这里插入图片描述
在这里插入图片描述

2、数据库准备

2.1订单表

在这里插入图片描述

2.2 消息发送状态表

在这里插入图片描述

2.3 运单表

在这里插入图片描述

3、订单中心

3.1 订单中心分析

在这里插入图片描述
利用Rabbitmq发布确认机制(confirm),确保发送成功的数据能被通知到
做个定时任务轮训发送失败以及发送后未响应的订单信息,重新发送

3.2 编写代码

3.2.1 Springboot整合rabbitmq和mysql数据库
3.2.1.1依赖如下:
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--rabbitmq-->
		<
  • 1
  • 2
  • 3
  • 4
  • 5
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/911122
推荐阅读
相关标签
  

闽ICP备14008679号