Spring Cloud知识整理-公开
2021-08-18 14:59:23 20 举报
AI智能生成
Spring Cloud知识整理
作者其他创作
大纲/内容
微服务
复杂性
分布式
网络
异步
消息
故障传播性
事务
划分
部署
特点
小,独立,容错,不耦合,均衡,安全,
链路追踪
日志系统
服务治理Eureka
Eureka通过相互注册与复制支持高可用
Eureka支持用户认证
Eureka Client支持注册表缓存
Eureka提供保护模式以解决网络分区故障
Eureka提供健康检查
Eureka支持RESTful API
不支持事件通知
SpringCloudZookeeper
Consul
配置
@EnableEurekaServer
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
客户端
@EnableDiscoveryClient
@LoadBalanced
restTemplate
服务提供者
注册
同步
续约
服务消费者
获取服务
服务调用
Region
Zone
服务下线
服务注册中心
失效剔除
自我保护
源码解析
为什么获取服务实例这么慢
Client注册延迟40s
Server的响应缓存
Client的缓存
LoadBalance的缓存
配置详解
通信协议
Jersey
XStream
其他
Zookeeper 保证的是CP ,但对于服务发现而言,可用性比数据一致性更加重要 ,而 Eureka 设计则遵循AP原则 。
客户端负载均衡Ribbon
RestTemplate
GET
getForObject
getForEntity
POST
postForEntity
postForObject
postForLocation
PUT
DELETE
源码分析
策略
随机
轮询
重试
权重
ClientConfigEnabledRoundRobinRule
BestAvailableRule
PredicateBasedRule
AvailablityFilteringRule
ZoneAvoidanceRule
服务容错保护Hystrix
功能
服务降级
服务熔断
线程和信号隔离
请求缓存
请求合并
服务监控
代码
@EnableCircuitBreaker
@HystrixCommand
原理
Command原理
缓存结果
断路器状态
线程池/请求队列/信号量是否满了
健康指标
断路器原理
依赖隔离
使用详解
创建请求命令
定义服务降级
异常处理
请求缓存
@CacheKey
@CacheResult
@CacheRemove
请求合并
配置详解
仪表盘
@EnableHystrixDashboard
turbine集群监控
与消息代理结合
声明式服务调用Feign
功能
封装前两个
@EnableFeignClients
@FeignClient(name="HELLO-SERVICE", fallback = HelloServiceFallback.class)
参数绑定
继承特性
服务端和客户端公用相同接口
注解相似
优缺点
不建议使用
配置
Ribbon配置
指定服务配置
全局配置
重试配置
Hystrix配置
全局配置
禁用配置
降级配置
请求压缩
日志设置
API网关服务Zuul
功能
请求路由
Url
面向服务路由
请求过滤
代码
@EnableZuulProxy
ZuulFilter
PatternServiceRouteMapper
配置
路径匹配
忽略表达式
路由前缀
本地跳转
Cookie和信息头
敏感字段
重定向问题
过滤器
过滤类型
filterType
pre
route
post
error
执行顺序
filterOrder
执行条件
shouldFilter
具体操作
run
禁用过滤器
动态加载
动态路由
@RefreshScope
动态过滤器
分布式配置中心Config
功能
代码
@RefreshScope
@EnableConfigServer
服务端详解
仓库
git
svn
本地仓库
本地文件
健康监测
属性覆盖
安全保护
Spring Security
加密解密
高可用
服务化
客户端详解
URI指定配置中心
失败快速响应与重试
获取远程配置
动态刷新配置
消息总线Bus
消息代理
Message Broker
通信调度
最小化应用间的依赖
刷新服务的配置
消息驱动的微服务Stream
SpringBoot+SpringIntegration
分布式服务跟踪sleuth
Logstash
Zipkin
Spring Cloud Security
其他
Security
Consul
Cluster
配置文件
yaml不能用@PropertyResource加载?
请求重试?
可以处理的量级 比如几十万
并发下的问题
0 条评论
下一页