Java面试题总结三(2021最新)

本文探讨了Eureka的自我保护机制如何应对网络分区,以及Hystrix的降级和限流策略。还介绍了Ribbon的重试参数、Spring Cloud Config的配置存储位置、Bus消息总线的作用,Seata事务组件和TCC的区别,以及RabbitMQ的工作模式和RocketMQ的事务消息流程。
摘要由CSDN通过智能技术生成

1.Eureka自我保护机制是什么?
由于网络故障出现网络分区,15 分钟内 85% 服务器出现心跳异常,eureka会进入保护状态,在保护状态下,所有服务的注册信息都不会被删除

2.什么是hystrix降级?
当一个服务调用后台服务失败,无法获得后台服务的结果时,可以通过hystrix执行当前服务的降级代码来返回降级结果,例如调用后台商品列表失败时,可以执行从缓存服务器获取缓存数据返回给客户端

3.hystrix的限流措施是什么?
hystrix的熔断可以限制后台服务的调用流量,避免故障向其他服务传播引起雪崩效应。
当 10 秒内达到 20 次请求,50%出现失败时会触发熔断,
之后进入半开状态,会尝试向后台服务发送客户端调用,调用成功可以自动关闭断路器恢复正常

4.ribbon的主要的重试参数是什么?至少说出两个
MaxAutoRetries - 一台服务器的重试次数
MaxAutoRetriesNextServer - 更换服务器的次数
ReadTimeout - 等待后台服务响应的超时时间

5.springcloud config配置中心默认把配置文件存放在哪里?
git仓库

6. bus消息总线的作用是什么?
bus通过mq服务器来发送配置刷新指令,微服务模块收到指令后,在不重启的情况下可以执行配置刷新操作,重新连接配置中心服务器获取新的配置信息。

7.seata的三大组件是什么?
TC事务协调器,负责协调各个模块事务的执行
TM事务管理器,负责启动全局事务,并对全局事务状态进行决策
RM资源管理器,负责与TC通信,上报分支事务状态和执行二阶段的事务操作

8.seata at事务中数据源代理的作用是什么?
数据源代理中提供了全自动事务控制的代码,对执行的数据操作记录日志

9.什么是TCC事务,和 seata at 事务有什么不同?
tcc事务是 Try、Confirm和Cancel三个操作,
Try 操作在第一阶段对数据进行预留,或者称为冻结数据
Confirm 操作在第二阶段确认预留的资源,即执行二阶段的提交操作
Cancel 操作在第二阶段取消预留的资源,即执行二阶段的回滚操作
TCC事务对业务有侵入,两个阶段的三种操作的代码都需要自己来编写,
而 seata at 事务对业务无侵入,只需添加配置就可以实现分布式事务,使用简便
80%的业务场景下都可以使用 seata at 事务

10.RabbitMQ 的六种工作模式
简单模式
工作模式
发布和订阅模式
路由模式
主题模式
RPC模式

11.简述 RocketMQ 的事务消息执行流程
第一步发送“半消息”
第二步执行本地事务
第三步对事务消息进行提交或回滚:

本地事务执行成功,提交事务消息
本地事务执行失败,回滚事务消息
由于网络终端,无法执行第三步时,RocketMQ 服务器会每隔1分钟回查事务状态
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值