微服务篇面试题

1、SpringCloud的组件有哪些?

2、负载均衡如何实现?

3、什么是服务雪崩?怎么解决?

4、项目中有没有做过限流?

Tomcat单体可以,分布式不适合

5、解释一下CAP和BASE

P:加入node03这边的网络断了,现在形成了两个分区,数据产生了不一致的问题,在集群出现分区时,整个系统也要持续对外提供服务

不过此时访问node1得到的结果,和访问node3得到的结果肯定不一样,出现数据不一致的问题,违背了C

要想满足C怎么办呢?等node3网络好了,node1把数据同步到node3 ,但是这就违背了A,谁知道node1什么时候把数据同步给node3呢?

6、分布式事务的解决方案

7、分布式服务的接口幂等性怎么去保证?

8、分布式调度框架?

9、 常见的限流算法

9.1、计数器限流算法(固窗算法)

计数器是限流中最简单的 ,规定为:在指定周期内累加访问次数,当访问次数达到设定的阈值 时,出发限流策略,当进入下一个时间周期时会将访问次数清零

  • 优点:实现简单
  • 临界问题:如图所示,当在8-10秒和10-12秒内分别并发500,虽然没有超过阈值,但如果算8-12秒,则并发数高达1000,已经超过了原先定义的10秒内不超过500的并发量
  • 突刺现象:如果在单位时间10秒内的前100ms,通过了500个请求,则后面的990ms都无法接受任何请求,也就无法应对短时间高并发
相关推荐
uzong3 小时前
程序员从大厂回重庆工作一年
java·后端·面试
kyle~3 小时前
C++---value_type 解决泛型编程中的类型信息获取问题
java·开发语言·c++
开心香辣派小星7 小时前
23种设计模式-15解释器模式
java·设计模式·解释器模式
Halo_tjn7 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
摆烂z8 小时前
Docker与Jib(maven插件版)实战
java
RainbowSea8 小时前
从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战
java·spring boot·后端
笨手笨脚の8 小时前
Spring Core常见错误及解决方案
java·后端·spring
奶油松果8 小时前
Springboot自动装配 - redis和redission
java·spring boot·redis
霍夫曼9 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
VX:Fegn08959 小时前
计算机毕业设计|基于Java人力资源管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端·课程设计