java面试题-微服务篇

一、Spring Cloud组件有哪些

Nacos注册中心,Ribbon负载均衡,Feign远程调用,sentinel服务熔断,Gateway网关

二、服务注册和服务发现是什么意思

服务注册:服务提供者需要把自己的信息注册到注册中心,由注册中心保存这些信息,比如ip地址,端口号,服务名称等。

服务发现:消费者向注册中心拉取服务列表信息,如果服务有集群,,则消费者会利用负载均衡算法,选择一个发起调用。

服务监控:服务提供者每隔30s向注册中心发送心跳,报告健康状态,如果注册中心90s没收到心跳,则从注册中心删除。

三、eureka和nacos区别

共同点:

都支持服务注册和服务拉取

都支持服务提供者心跳方式做健康监测

区别:

Nacos有临时实例和非临时实例两种,临时实例采用心跳模式,,非临时实例采用主动检测模式。

临时实例心跳不正常会被剔除,非临时实例不会被剔除。

Nacos支持注册中心消息推送来更改服务列表,更新更加及时。

Nacos集群默认采取AP方式,当集群中存在非临时实例时,采用CP(强一致)模式;Eureka采用AP(高可用)方式。

四、Ribbon复杂均衡策略

1.轮询策略:简单轮询服务列表来选择服务器。

2.权重选择:按照权重来选择服务器,响应时间越长,权重越小。

3.随机策略:随机选择一个可用的服务器。

4.范围选择:以区域内可用的服务器为基础进行服务器的选择,使用Zone对服务器进行分类,之后在对Zone内的多个服务进行轮询。(默认)

5.重试机制:重试机制的选择逻辑。

6.最小连接数策略:忽略那些短路的服务器,并且选择一个并发数较低的服务器。

7.可用性敏感策略:首先判断是否健康,在选择连接数较小的实例。

五、服务雪崩

一个服务失败,导致整条链路的服务都失败

六、服务降级

服务降级是服务自我保护的一种方式,或者保护下游服务的一种方式,用于确保服务不会手请求突增影响变得不可用,,确保服务不会崩溃。

代码实现:在@FeignClient里面加上fallback=***,里面是自己写的服务降级代码,一般返回异常即可。

七、服务熔断

默认关闭,需要手动打开,如果检测到10秒内请求失败率超过50%,就会触发熔断机制,之后每隔5秒重新尝试请求微服务,如果微服务不能相应,继续走熔断机制,,如果微服务可以到达,则关闭熔断机制,恢复正常请求。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值