SpringCloud组件
2021-10-18 14:39:28 45 举报
AI智能生成
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud包含了多个子项目,如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Gateway等,它们分别用于配置管理、服务发现与注册、API网关等功能。通过使用Spring Cloud,开发者可以快速构建分布式系统,提高开发效率和系统的可维护性。
作者其他创作
大纲/内容
boot使用数字作为版本,cloud使用地铁站名作为版本
版本介绍
模拟高并发
JMeter
消费者Order
提供者payment
AP
netflix-Euraka
CP
zookeeper
consul
Naocs
注册中心
Ribbon
LoadBalancer
Feign、OpenGeign、Dubbo
服务调用
Hystrix
resilence4j
sentinel
服务降级
Zuul
Zuul2
gateway
服务网关
Config
Nacos
配置中心
Bus
服务总线
服务发现
已停用
分为Server和Client、客户端内置负载轮询算法
启动类上@EnableDiscoveryClient
@LoadBalanced标注在RestTemplate配置上代理RestTemplate
消费者使用restTemplate发现http请求
消费者拉取服务列表
如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server将会注销该实例(默认90秒)
15min内85%的结点都没有正常心态,则Eureka认为客户端和注册完中心出现了网络故障,不会再接收心跳,也不会删除服务
设计哲学就是宁可保留错误的服务注册信息,也不盲目注销任何可能健康的服务实例。一句话讲解:好死不如赖活着
自我保护机制
Eureka
提供者@EnableDiscoveryClient
消费者
Nginx是服务器负载均衡
本地有全部注册服务
Ribbon是本地负载均衡
启动类上@RibbonClient,配置上规则class
轮询
随机
优先指定规则
响应时间优先
负载均衡类型
A调用其他扇出,长时间得不到响应
服务雪崩
服务器繁忙时,返回备选响应
区分核心服务和非核心服务
降级策略
需要考虑的问题
超时降级
失败次数降级
故障降级
限流降级
降级分类
负载超过预设上限阈值,把不紧急的服务延迟使用或暂停使用、
比如延迟给用户增加积分
直接拒绝访问,熔断后恢复调用链路,快速响应失败
触发原因不太一样,服务熔断一般是某个服务(下游服务)故障引起,而服务降级一般是从整体负荷考虑;
区别降级
服务熔断
服务限流
服务单元故障后返回备选响应FallBack
断路器
一般服务降级放在客户端,即 消费者端 ,但是提供者端一样能使用
@EnableHystrix
service上指定@HystrixCommand、超时方法、超时时间
@FeignClient里指定fallback
消费端
@EnableCircuitBreaker
service @HystrixCommand(
提供方
配置
针对来源
复制:QPS、线程
单机阈值、集群阈值
直接
别人惹事自己买单
关联:读写多时限制写
针对入口
链路
流控模式
快速失败
5s内到达阈值
预热
排队
流控效果
平均响应时间
RT
异常笔记
异常数
降级
Sentinel
集成Hystrix的断路器功能
集成SpringCloud服务发现功能
利用服务注册中心负载均衡调用,动态配置
特性
路由
断言
过滤
上大核心概念
actuator
controller上@RefreshScope
为了解决该问题,可以使用服务总线
curl -X POST \"http://localhost:3355/actuator/refresh\"
配置动态刷新
@EnableConfigServer
实现配置的动态刷新
主题被所有消费者监听和消费
广播
目前支持kafka和rabbitMQ
消息驱动,抽象消息中间件
Stream
RPC调用链路
Sleuth
注册中心、配置中心
Nacos = Eureka注册中心 + Config配置中心 + Bus消息总线
服务
namespace
dev、product、online
group
层次
分布式事务
事务协调器
TC
开启全局事务
发起针对XID的全局提交或回滚
事务管理器
TM
注册分支事务、状态上报
资源管理器
RM
组件
Seata
SpringCloud组件
0 条评论
回复 删除
下一页