八股学习 微服务篇

微服务篇

常见面试内容


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秒重新尝试请求微服务,如果微服务不能响应,继续走熔断机制。如果微服务可达,则关闭熔断机制,恢复正常请求;

相关推荐
caimouse2 分钟前
Reactos 第 5 章 进程与线程 — 5.1 概述
c语言·windows·架构
该昵称用户已存在8 分钟前
能源数字化架构手记:MyEMS 数据建模引擎的模块化拆分与接口治理
架构·能源
Whoami!9 分钟前
05-【园区】SDN+VXLAN 私有云安全防护架构
网络安全·架构·sdn·拓扑图
学机械的鱼鱼15 分钟前
一文读懂轮足翼复合机器人:结构特点与仿真学习路线规划
学习·机器人
2501_9419820521 分钟前
基于自动化控制架构的企业微信群消息管理系统设计
架构·自动化·企业微信
知识分享小能手30 分钟前
Hadoop学习教程,从入门到精通, 部署Hadoop 3.x — 知识点详解(2)
大数据·hadoop·学习
许彰午34 分钟前
微服务安全上下文的透明传递——ThreadLocal透传与HTTP头转发的完整链路
安全·http·微服务
moonsims35 分钟前
基于Lattice Mesh的AI 的分布式共识与动态任务分配架构的无人机群“去中心化无声协同”技术和极低带宽下的韧性通信技术
人工智能·分布式·架构
星恒随风41 分钟前
C++ 类和对象入门(三):拷贝构造、赋值运算符重载和深浅拷贝
开发语言·c++·笔记·学习
贵慜_Derek42 分钟前
《从零实现 Agent 系统》连载 23|Skill 体系与 Skill Creator:能力打包与迭代
人工智能·设计模式·架构