微服务面经

1、五大组件

通常情况下:
.Eureka :注册中心
Ribbon :负载均衡
Feign :远程调用
Hystrix:服务熔断
.Zuul/Gateway :网关

2、注册中心

在这里插入图片描述

nacos和eureka的区别是什么

Nacos与eureka的共同点 (注册中心)

1、都支持服务注册和服务拉取
2、都支持服务提供者心跳方式做健康检测

  1. Nacos与Eureka的区别 (注册中心)

1、Nacos支持服务端主动检测提供者状态: 临时实例采用心跳模式,非临时实例采用主动检测模式 临时实例心跳不正常会被剔除,非临时实例则不会被剔除
2、 Nacos支持服务列表变更的消息推送模式服务列表更新更及时
3、Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式Nacos还支持了配置中心,eureka则只有注册中心,也是选择使用nacos的一个重要原因

3、负载均衡

在这里插入图片描述
在这里插入图片描述
还有一些根据连接数或者并发数来确定选择哪个服务的功能

什么是服务雪崩,怎么解决这个问题?

服务雪崩:一个服务失败,导致整条链路的服务都失败的情形
服务降级:服务自我保护的一种方式,或者保护下游服务的一种方式,用于确保服务不会受请求突增影响变得不可用,确保服务不会崩溃,一般在实际开发中与feign接口整合编写降级逻辑
服务熔断:默认关闭,需要手动打开,如果检测到 10 秒内请求的失败率超过 50%,就触发熔断机制。之后每隔5 秒重新尝试请求微服务,如果微服务不能响应,继续走熔断机制。如果微服务可达,则关闭熔断机制,恢复正常请求

微服务的监控

使用sklywalking可以对微服务完成四个基本需求、问题定位、性能分析、服务关系、服务告警

**

nigix反向代理什么意思

nginx反向代理是指,nginx可以作为一个反向代理服务器完成负载均衡(目的)。反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;

微服务限流

先来介绍业务,什么情况下去做限流,需要说明QPS具体多少我们当时有一个活动,到了假期就会抢购优惠券,QPS最高可以达到2000,平时10-50之间,为了应对突发流量需要做限流
常规限流,为了防止恶意攻击,保护系统正常运行,我们当时系统能够承受最大的QPS是多少(压测结果)
nginx限流
控制速率(突发流量),使用的漏桶算法来实现过滤让请求以固定的速率处理请求,可以应对突发流量控制并发数,限制单个ip的链接数和并发链接的总数(限流桶,作用是每秒效率恒定
网关限流
在spring cloud gateway中支持局部过滤器RequestRateLimiter来做限流,使用的是令牌桶算法可以根据ip或路径进行限流,可以设置每秒填充平均速率,和令牌桶总容量(令牌桶:每秒的效率是有上下波动的

分布式事务 CAP和base理论

CAP 定理(一致性、可用性、分区容错性)
1.分布式系统节点通过网络连接,一定会出现分区问题 §
2. 当分区出现时,系统的一致性 ©和可用性(A)就无法同时满足
BASE理论
1.基本可用
2.软状态
最终一致
解决分布式事务的思想和模型
最终一致思想:各分支事务分别执行并提交,如果有不一致的情况,再想办法恢复数据 (AP)
强一致思想:各分支事务执行完业务不要提交,等待彼此结果。而后统一提交或回滚(CP)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值