JAVA全系列 教程
3762个小节阅读:7095k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
当我们将单体项目拆分为分布式、微服务项目之后,各个服务之间通过远程REST或者RPC调用来协同完成业务操作。
典型的场景:
各个微服务是部署在不同的JVM进程中的,此时,就会产生因跨JVM进程而导致的分布式事务问题。
随着用户增多,数据库压力越来越大,此时我们会进行数据库的拆分,怎么拆分呐?比如:拆分成用户数据库、商品数据库、订单数据库。
说明:
数据库由原先的单库,被拆分成2个数据库。单体系统需要访问多个数据库时就会产生分布式事务。
随着模块越来越多,项目越来越庞大,我们会将模块拆分成不同的项目,那么两个服务需要跨网络远程调用,两个服务持有了不同的数据库连接进行数据库操作,此时就会产生分布式事务。
简单理解:
跨网络远程调用产生分布式事务。
(1)跨网络远程调用完成事务协作,就会产生分布式事务。
(2)跨数据库实例完成事务协作,就会产生分布式事务。
实时效果反馈
1.下列属于分布式事物产生场景的是_____。
A 跨JVM进程
B 跨数据库实例
C 多个服务数据库
D 以上都正确
答案
1=>D