Istio 断路器 (TrafficManagement - Circuit Breaker)
【摘要】
断路器也成服务熔断,在多个服务调用的时候,服务A依赖服务B,服务B依赖服务C,如果服务C响应时间过长或者不可用,则会让服务B占用太多系统资源,而服务A也依赖服B,同时也在占用大量的系统资源,造成系统雪崩的情况出现。 Istio 断路器通过网格中的边车对流量进行拦截判断处理,避免了在代码中侵入控制逻辑,非常方便的就实服务熔断的能力。
什么场景需要用到超时处理 ...
断路器也成服务熔断,在多个服务调用的时候,服务A依赖服务B,服务B依赖服务C,如果服务C响应时间过长或者不可用,则会让服务B占用太多系统资源,而服务A也依赖服B,同时也在占用大量的系统资源,造成系统雪崩的情况出现。 Istio 断路器通过网格中的边车对流量进行拦截判断处理,避免了在代码中侵入控制逻辑,非常方便的就实服务熔断的能力。
什么场景需要用到超时处理
微服务场景下,在多个服务调用的时候,服务A依赖服务B,服务B依赖服务C,如果服务C响应时间过长或者不可用,则会让服务B占用太多系统资源,而服务A也依赖服B,同时也在占用大量的系统资源,造成系统雪崩的情况出现。
通过例子来理解
apiVersion: apps/v1
kind: Deployment
metadata:
labels: app: nginx-deployment
name: nginx-deployment
spec:
replicas: 1
selector: matchLabels: app: nginx-deployment
strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate
template: metadata: labels: app: nginx-deployment spec: containers: - image: 'nginx:latest' name: nginx-deployment
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector: app: nginx-deployment
type: ClusterIP
ports:
- name: http port: 80 targetPort: 80 protocol: TCP
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: nginx-dr
spec:
host: nginx-service
trafficPolicy: connectionPool: http: http1MaxPendingRequests: 1 maxRequestsPerConnection: 1 outlierDetection: consecutiveErrors: 1 interval: 10s baseEjectionTime: 10s maxEjectionPercent: 100
测试服务熔断
通过执行 kubectl get svc
获取服务IP地址
通过压测工具进行请求测试
fortio load -c 10 -n 50 -qps 0 http://10.2.189.170
结果显示 Code 503 有 64% 的流量触发到熔断
断路器相关参数配置
http1MaxPendingRequests: http 请求挂起状态的最大请求数
maxRequestsPerConnection: 一定时间内限制对后端服务发起的最大请求数,如果超过了此配置,就会出现限流。
outlierDetection.consecutiveErrors: 拒绝连接的最大失败次数
outlierDetection.interval: 触发熔断的时间间隔,在 interval 时间间隔内,达到 consecutiveErrors 即触发熔断
outlierDetection.baseEjectionTime: 熔断时长
maxEjectionPercent: 熔断连接最大百分比
文章来源: blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/m0_38030719/article/details/108940596
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)