当前位置:主页 > 查看内容

使用服务网格构建分布式系统中的容错能力

发布时间:2021-07-09 00:00| 位朋友查看

简介:## 隔板模式 隔板模式有助于隔离用于服务的资源 并避免级联故障。通过以下使用DestinationRule来限制上游服务的连接池 从而定义服务间隔板。 其中 最大连接数和连接超时时间是对 TCP 和 HTTP 都有效的通用连接设置; 而每个连接最大请求数和最大请求重试次数仅……
## 隔板模式 隔板模式有助于隔离用于服务的资源 并避免级联故障。通过以下使用DestinationRule来限制上游服务的连接池 从而定义服务间隔板。 其中 最大连接数和连接超时时间是对 TCP 和 HTTP 都有效的通用连接设置; 而每个连接最大请求数和最大请求重试次数仅针对 HTTP1.1/HTTP2/GRPC 协议的连接生效。 ![](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/neweditor/4b33221d-ab14-4422-80fa-05814afe45f4.png) 示例如下 apiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata: name: httpbin spec: host: httpbin trafficPolicy: connectionPool: http: http1MaxPendingRequests: 1 maxRequestsPerConnection: 1 tcp: connectTimeout: 10s maxConnections: 1 此配置将与示例服务的每个实例建立的最大并发连接数限制为1, 并且不能在10秒内建立连接的服务会得到503 -- Service Unavailable 响应。 ## 重试机制 在微服务弹性设计架构中 假设请求某个服务节点时遭遇请求失败 例如请求超时、连接超时、服务宕机等一系列可能的错误 这时可以通过配置重试机制 重新请求其他服务。 重试请求虽然是最简单的回退机制, 但重试请求可能会导致级联的系统故障, 也就是常说的重试风暴。不要过于频繁地重试或重试过长时间。 在短时间内重试不太可能成功 因为服务可能还未恢复。 此外 如果在服务尝试恢复时进行了大量连接尝试 则其可能会承受更大压力 并且反复的连接尝试甚至可能使服务不堪重负 导致潜在问题变得更加严重。 服务网格技术可以更有效地执行重试。它已经直接参与请求路由 并且为重试策略提供了与语言无关的一致实现。例如 可以定义一个类似于以下示例的策略
本文转自网络,原文链接:https://developer.aliyun.com/article/785190
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐