Spring Cloud 问题与修复
Spring Cloud 原生与阿里对比 Native (~~Eureka~~) Consul 服务注册 (~~Hystrix~~) Resilience4j 服务熔断和降级 (~~Ribbon~~)…
Spring Cloud 原生与阿里对比
| 技术功能 | Spring Cloud | Spring Cloud Alibaba |
|---|---|---|
| 服务注册与发现 | Nacos | |
| 配置管理 | Nacos | |
| 熔断、限流、降级、流量控制 | Sentinel | |
| 消息队列 | RabbitMQ / Kafka | RocketMQ |
| 分布式事务 | Atomikos / Narayana | Seata |
| 负载均衡 | OpenFeign / LoadBalancer |
Nacos / LoadBalancer |
| 分布式链路追踪 | Micrometer Tracing & Zipkin(可视化) |
SkyWalking |
| API 网关 | Spring Cloud Gateway |
Native
(Eureka) Consul 服务注册
(Hystrix) Resilience4j 服务熔断和降级
(Ribbon) OpenFeign 服务调用 LoadBalancer 客户端负载均衡调用
(Sleuth) Micrometer Tracing 分布式链路追踪
ZipKin 调用链分析可视化界面(需要安装)
(Zuul) Gateway 服务网关
1- Route 路由 - 以微服务名称动态获取服务 URI
2- Predicate 断言
3 * After 在什么之前访问
4 * Before 在什么之后访问
5 * Cookie 带 Cookie 才能访问
6- Filter 过滤 - 修改或删除请求头、请求路径等
Alibaba
Nacos 服务注册和配置
1- 配置规则
2 * DataID
3 * Group
4 * Namespace
Sentinel 服务熔断和降级
1- 可以整合 OpenFeign 服务降级
2- 可以整合 GateWay 服务限流
3- `@SentinelResource` 流量防卫防护注解
4 * 属性 - [ value、blockHandler、fallback]
5- 流控
6 * 模式 - [ 直接、关联、链路 ]
7 * 效果 - [ 快速失败、(预热) Warm Up、排队等待 ]
8 * 阈值类型 - [ QPS、并发线程数 ]
9- 熔断 - 达成目标暂时中断请求
10 * 策略 - [ 慢调用比例、异常比例、异常数 ]
11- 热点 - 对传入的热点参数进行限制
12- 授权
13 * 类型 - [ 白名单、黑名单 ]
14- 持久化 - 使用 Nacos 来配置
1sentinel:
2 datasource:
3 ds1:
4 nacos:
5 server-addr: 127.0.0.1:8848
6 dataId: sentinel-gateway
7 groupId: DEFAULT_GROUP
8 data-type: json
9 rule-type: flow
Seata 分布式事务管理 - 多个业务执行数据库修改,如有报错则全部回退
1- 数据库建表(xid)
2- @GlobalTransactional
SkyWalking 分布式系统观测和性能监控平台
1- 分布式追踪
2- 性能监控
Dubbo RPC 框架
Arthas (Java 诊断工具)
1- 热更新方法
2- 跟踪方法调用
RocketMQ (分布式消息队列)
微服务引擎 MSE 面向主流微服务场景提供:注册配置和分布式协调(Nacos/ZooKeeper/Eureka)、云原生网关(Higress/Nginx/Envoy)、服务治理(Spring Cloud/Dubbo/Sentinel)以及任务调度(XXL-JOB/ElasticJob/K8s Job/Spring @Scheduled)等产品和能力。