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