Spring Cloud
2022-08-14 10:04:54 53 举报
AI智能生成
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud包含了多个子项目,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud OpenFeign等,它们分别用于配置管理、服务发现和调用、负载均衡等功能。通过使用Spring Cloud,开发者可以更加快速、高效地构建云应用,提高开发效率和系统的可维护性。
作者其他创作
大纲/内容
控制总线
连接所有服务节点
组件
spring cloud bus
分布式事务
CAP理论
consistency
availability
partition tolerance
BASE理论
basically availble
soft state
eventually consistent
实现方式
直接通过数据库
通过消息队列
两阶段提交
三阶段提交
三属性
事务管理者
事务协调器
资源管理者
组件框架
seata
TC (Transaction Coordinator) - 事务协调者
TM (Transaction Manager) - 事务管理器
RM (Resource Manager) - 资源管理器
Icn
bytetcc
服务安全
认证,授权
可扩展,可配置的认证和授权
单点登录
防止会话固定,点击劫持,跨网站请求伪造等攻击
与servletAPI 集成
spring cloud security
链路追踪
概念
调用链路还原,链路拓扑,应用依赖分析,用于快速分析和诊断
分布式调用链查询和诊断
应用性能实时汇总
分布式拓扑动态发现
多语言开发程序接入
丰富的下游对接场景
技术组件
Sleuth
Zipkin
集群管理
spring cloud cluster
功能
领导者选举
一致性存储
集群状态管理
一次性Tokens
事件驱动
spring cloud stream
概念
目标绑定器:kafka,rabbitmq
绑定桥梁,连接消息系统和应用程序
消息,传递的数据
功能
异步处理
流量削峰
服务解耦
任务调度
xxl-job
Quartz
云连接器
spring cloud connectors
spring cloud foundry
spring cloud heroku
函数计算
spring cloud function
支持响应式编程
输入输出类型透明转换
流数据处理
同一个jvm中运行多版本函数
打包函数到指定云平台
配置中心
功能特点
统一管理
统一从配置中心拉取配置
区分环境
隔离开发,测试,生产等不同环境
实时刷新
客户端能实时监听到配置的改变,实时更新最新配置
权限控制
不同用户,角色对应不同的修改,查看等权限
版本控制
主要是可以回溯不同版本
灰度发布
发布配置时,先发布到部分实例,进行测试
常用组件
spring cloud config
nacos
apollo
consul
zookeeper?
注册中心
功能
自动注册
客户端组件的服务信息,自动注册给注册中心服务端
健康检查
发现并删除宕机实例
自动发现
消费者实时监听注册中心服务信息的变更
常见组件
ZooKeeper
Eureka
nacos
Consul
服务网关
功能
微服务架构对外的统一入口,对外部访问和内部系统隔离
高并发
安全
权限认证
黑名单,白名单
路由转发
根据请求和配置,将外部请求转发到对应后端微服务
监控限流
灰度发布
通过切换发布新的微服务
服务重试
重试策略
服务别名
对外屏蔽内部微服务相关信息
组件
Kong
Zuul
Spring Cloud Gateway
负载均衡
常见算法
简单轮询
加权轮询
简单随机
加权随机
一致性哈希
根据请求ip或请求参数,映射对应的后端服务器,保证相同请求或客户端使用同一台服务器
最小活跃数
最快响应
组件
ribbon
OpenFegin
nacos
spring cloud Loadbalancer
RPC调用
http区别
http: 7层协议,Rest服了风格
RPC:更上层,更灵活,可以自定义数据格式,传输方式
组件
Dubbo
gRPG
Thrift
Feign
服务熔断
功能
状态
Closed
Open
不调用下游服务器,直接返回一个值,一段时间后进入半熔断状态
Half-Open
部分请求尝试调用
组件
Hystrix
Sentinel
服务降级
功能
关闭或限流某个服务,减轻系统压力
与熔断区别
熔断:下游服务故障触发
降级:上游主动降低系统负载
服务限流
常用算法
固定窗口计数器
滑动窗口计数器
令牌桶
漏桶
分布式锁
分布式锁,互斥使用,共享资源
原理
zookeeper:watch机制与临时节点特性
redis:消费订阅机制与数据超时特性
组件
Redisson
Curator
实现
mysql
主键或唯一索引
zookeeper
临时节点
顺序节点
Redis
setnx key value nx ex **s
setnx
收藏
0 条评论
下一页