Java面试题之分布式事务篇

谁借莪1个温暖的怀抱¢ 2023-09-28 11:24 188阅读 0赞

一.题目介绍

#

1.题目来源

实际面试中遇到,形式的话有书面解答也有口述。

2.题目

1)你是如何看待分布式系统,微服务架构的?

2)你系统里是如何处理分布式事务的?

二.具体解答

#

1.你是如何看待分布式系统,微服务架构的?

分布式系统,微服务架构在16年开始火,但是真正的普及是18年,其中有多少公司尝试使用这种新的架构体系可能数不胜数,分布式系统与传统的单体集成系统的最大区别是分为多个业务子服务,这些子服务为一个大的业务服务,而这套系统就是所谓的分布式系统,很多的公司一般在拆分微服务的时候都是按业务拆分,比如订单服务,会员服务,商品服务等等,按具体的业务拆分成子系统即微服务,但是其带来的挑战也是巨大的,之前在同在一个数据库里表,经过拆分以后会分到不同的数据库里,这时候想要查询一条包含其他业务的数据就得依靠一个数据中心去提供查询,还有就是分布式系统面临的最大问题,分布式事务的处理问题。

2.系统里是如何处理分布式事务的?

服务拆分后都会面临服务与服务之间交叉业务的处理,比如购买一件商品,先扣库存服务里相应商品的数量如何再发起支付在支付服务中扣除银行卡中的商品金额,如果扣库存时失败,没有处理接着往下走就有可能出现“超买”的情况,使所以在微服务里我们得保持服务与服务之间数据的一致性,也就是保证服务于服务之间的事务正常,那让我们来看看有哪些解决方案:

1)常见得有2PC、TCC和基于Spring的事务消息,但是2PC和TCC过于笨重,而且对系统代码侵入性很高&#

发表评论

表情:
评论列表 (有 0 条评论,188人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java面试Redis

    一.题目介绍 1.题目来源 实际面试中遇到,形式的话有书面解答也有口述。一般侧重点为Redis的应用,Redis的持久化有哪些,Redis的淘汰策略 2