课程链接:
https://education.huaweicloud.com/programs/63384278-52ab-42e9-8e67-5dff5a9f37fd/about
Istio流量治理与监控管理
服务治理介绍
微服务发展
微服务:互联网高速发展以及传统分布式、SOA架构无法适应快速的开发迭代等多重因素共同推动下的产物
微服务雏形:微服务架构最早由Fred George在2012年的一次技术大会上所提出,拆分SOA服务实现解耦
微服务发扬光大:2014年,James Lewis和Martin Fowler发表了一篇名为《Microservices》的文章
服务治理介绍
服务治理主要针对微服务,究竟治理什么?
1.服务注册和服务发现
2.服务负载均衡、路由、灰度、蓝绿
3.服务降级、熔断
4.服务限流
5.服务监控
微服务框架:SpringCloud、Dubbo
服务网格与微服务框架流量治理对比
微服务框架 | 服务网格 | |
---|---|---|
业务侵入性 | SDK,侵入式开发 | Sidercar,无侵入 |
开发语言 | 语言强相关,java生态支持较好 | 开发语言无关 |
灵活性 | 静态配置。更新配置需要重启 | 非常灵活,动态配置 |
升级 | 需要业务开发优雅处理服务升级,具有很大难度 | 优雅升级简单 |
Istio常用的流量治理策略
策略一:服务注册&发现
策略二:负载均衡
支持的负载均衡算法:
1.加权轮询
2.最少请求
3.环形Hash
4.随机
5.优先级负载均衡
6.Locality加权
策略三:路由(流量切分、灰度发布)
策略四:熔断、降级
策略五:故障注入
故障注入可以用来识别系统最薄弱的环节,支持的类型:
1.HTTP请求响应延时注入
2.HTTP、gRPC错误码注入
策略六:限流
Istio支持两种限流方式
中心集中式限流
本地限流
策略七:失败重试
Istio支持失败重试HTTPRetry,提高系统的Resilience
Istio监控介绍
Istio可观测性
Istio以非侵入的方式提供了以下遥测类型:
Metrics
Distributed Traces
Access Logs
Istio Metrics
Istio分布式调用链
Istio支持的Trace后端包括:Zipkin、Jaeger、LightStep、Datadog