• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    Java
  • Created over 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SpringCloud + RocketMQ 实现分布式事务(transaction)

RocketMQ实现分布式事务

有关RocketMQ实现分布式事务前面写了一篇博客

1、RocketMQ实现分布式事务原理

下面就这个项目做个整体简单介绍。

一、项目概述

1、技术架构

项目总体技术选型

SpringCloud(Finchley.RELEASE) + SpringBoot2.0.4 + Maven3.5.4 + RocketMQ4.3 +MySQL + lombok(插件)

有关SpringCloud主要用到以下四个组建

Eureka Server +config-server(配置中心)+ Eureka Client + Feign(服务间调用) 

配置中心是用MySQL存储数据。

2、项目整体结构

config-service  # 配置中心
eureka          # 注册中心
service-order   #订单微服务
service-produce #商品微服务

各服务的启动顺序就安装上面的顺序启动。

大致流程

启动后,配置中心、订单微服务、商品微服务都会将信息注册到注册中心。

如果访问:localhost:7001(注册中心地址),以上服务都出现说明启动成功。

3、分布式服务流程

用户在订单微服务下单后,会去回调商品微服务去减库存。这个过程需要事务的一致性。

4、测试流程

页面输入:

http://localhost:9001/api/v1/order/save?userId=1&productId=1&total=4	

订单微服务执行情况(订单服务事务执行成功)

商品微服务执行情况(商品服务事务执行成功)

当然你也可以通过修改参数来模拟分布式事务出现的各种情况。


acda64387e0896604b5932dc433c8b77

More Repositories

1

spring-boot-sharding-sphere

SpringBoot + ShardingSphere 实现读写分离 分库分表
Java
362
star
2

spring-boot-distributed-redisson

redis实现分布式锁 Spring Boot core for Redisson RedissonLock
Java
246
star
3

spring-boot-netty-websocket-huobi

SpringBoot + Netty开发WebSocket服务器,时时获取火币(huobi)交易所推送过来的交易对最新数据。
Java
128
star
4

mall-manage-system

vue-cli 3.0 + element-ui + vue-router + axios + Vuex + Mock + echarts 实现电商管理系统后台
Vue
128
star
5

spring-boot-wechat-login

Springboot 实现微信扫码授权登陆,获取用户基本信息
Java
77
star
6

spring-boot-websocket-study

SpringBoot+Websocket 实现 1、公告功能 2、单人聊天功能 3、比特币时时推送功能 4、群聊功能,时时在线用户信息
Java
71
star
7

springboot-redis-caffeine-cache

Caffeine + Redis实现二级缓存框架。支持动态配置是否开启一级缓存、二级缓存。支持多个节点部署,多节点之间一级缓存通过redis订阅/发布功能来通知其他节点进行清理缓存的操作。
Java
70
star
8

spring-boot-mybatis-interceptor

mybatis自定义主键插件,通过该插件生成分布式唯一雪花ID作为数据库表的主键。
Java
53
star
9

spring-boot-study

springboot学习项目
Java
50
star
10

spring-boot-wechat-pay

SpringBoot 实现微信扫码支付功能
Java
27
star
11

spring-boot-redis-ip-limiter

Springboot + Redis 组件,实现一个分布式接口IP访问限流功能
Java
20
star
12

spring-boot-redis-lua

SpringBoot + Redis布隆过滤器。主要实现以下功能 : 1、几种常用方式判断当前key是否存在的性能进行比较。2、通过Lua脚本批量插入数据到redis布隆过滤器,并校验该数据在布隆过滤器中
Java
19
star
13

spring-boot-operate-log

基于SpringBoot+注解的方式获取操作日志,对业务代码无侵入。注解支持SPEL表达式、函数、三目运算
Java
16
star
14

spring-cloud-study

SpringCloud 注册发现、Feign服务调用、Hystrix实战、Zuul项目搭建、mysql实现配置中心
Java
16
star
15

spring-boot-many-data-source

Springboot + Druid 实现多数源
Java
12
star
16

spring-cloud-alibaba-study

学习spring-cloud-alibaba一些组件,包括GateWay、 Feign、 Nacos、 Zipkin、 Sentinel
Java
11
star
17

BDY-reptile

OkHttp爬取接口,通过获取接口返回数据,循环调用接口获取所有数据
Java
9
star
18

spring-boot-exception-notice

springBoot 集成钉钉机器人、企业微信、邮箱 实现异常通知。配置简单,开箱即用,同时异常信息也非常详细,帮助开发者快速定位问题
Java
9
star
19

spring-boot-security-study

Springboot +Security 实现密码,短信验证码登陆。OAuth2功能还在学习中......
Java
7
star
20

mybatis-desensitization-plugin

基于mybatis插件方式对一些敏感字段进行脱敏。目前支持姓名、手机号、座机号码、银行卡、身份证号、邮箱、地址等进行脱敏。也可以自定义字段脱敏。配置规则灵活,易扩展。
Java
6
star
21

SpringbootAcitveMQ

springboot整合ActiveMQ
Java
3
star