八股学习 微服务篇

微服务篇

常见面试内容


Spring Cloud 常见组件

Spring Cloud有5个常见组件:

  • Eureka/Nacos:注册中心;
  • Ribbon:负载均衡;
  • Feign:远程调用;
  • Hystrix/Sentinel:服务熔断;
  • Zuul/Gateway:网关;

注册中心

Nacos注册中心的基本工作流程:(默认是临时实例)


Ribbon负载均衡策略

Riboon负载均衡策略有以下几种:

  • RoundRobinRule:简单轮询服务列表来选择服务器;
  • WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小;
  • RandomRule:随机选择一个可用的服务器;
  • BestAvailableRule:忽略那些短路的服务器,并选择并发数较低的服务器;
  • RetryRule:重试机制的选择逻辑;
  • AvailabilityFilteringRule:可用性敏感策略,先过滤非健康的,再选择连接数较小的实例;
  • ZoneAvoidanceRule:以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询;

定义负载均衡的方法有:


服务雪崩

服务雪崩指的是一个服务失败,导致整条链路的服务都失败的情形;

解决方法有:

  • 服务降级:服务自我保护的一种方式,或者保护下游服务的一种方式,用于确保服务不会受请求突增影响变得不可用,确保服务不会崩溃,一般在实际开发中与feign接口整合,编写降级逻辑;

    具体的代码实现实例为:

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

相关推荐
海宇服务5 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化园区商户免押租赁资信核验网关
大数据·人工智能·架构·自动化
Nuanyt6 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
zhangfeng11336 小时前
6篇RAG核心论文的工程启示:Vector + Graph + Agent路由混合架构实战
人工智能·架构·llm·agent
叼烟扛炮7 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮7 小时前
Linux 学习笔记(四十四):HTTP 协议解析与极简 Web 服务器实战
linux·服务器·学习
Decay__7 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
songyuc8 小时前
【Manskill3】TableSceneBuilder学习笔记
pytorch·笔记·学习
代码方舟8 小时前
零信任架构实战:基于天远企业法人四要素高级版构建自动化电子印章授权与签约准入网关
人工智能·架构·自动化·区块链
外收内放8 小时前
Python基础语法练习题(75)
开发语言·python·学习
kyrie_sakura10 小时前
大模型学习20 大模型学习 - LangChain3 - Agents
人工智能·学习·langchain