服务治理
服务治理
流量管控
在地址发现和负载均衡机制之外,Dubbo 丰富的流量管控规则可以控制服务间的流量走向和 API 调用,基于这些规则可以实现在运行期动态的调整服务行为如超时时间、重试次数、限流参数等,通过控制流量分布可以实现 A/B 测试、金丝雀发布、多版本按比例流量分配、条件匹配路由、黑白名单等,提高系统稳定性。
Dubbo 流量管控能解决哪些问题
场景一:搭建多套独立的逻辑测试环境。
场景二:搭建一套完全隔离的线上灰度环境用来部署新版本服务。
场景三:金丝雀发布
场景四:同区域优先。当应用部署在多个不同机房/区域的时候,优先调用同机房/区域的服务提供者,避免了跨区域带来的网络延时,从而减少了调用的响应时间。
除了以上几个典型场景,我们还可以基于 Dubbo 支持的流量管控规则实现微服务场景中更丰富的流量管控,如:
- 动态调整超时时间
- 服务重试
- 访问日志
- 同区域优先
- 灰度环境隔离
- 参数路由
- 按权重比例分流
- 金丝雀发布
- 服务降级
- 实例临时拉黑
- 指定机器导流
可以在 流量管理任务 中了解以上实践场景细节。背后的规则定义与工作原理请参见 Dubbo 流量管控规则设计与定义。。
微服务生态
围绕 Dubbo 我们构建了完善的微服务治理生态,对于绝大多数服务治理需求,通过简单几行配置即可开启。对于官方尚未适配的组件或者用户内部系统,也可以通过 Dubbo 扩展机制轻松适配。
可视化控制台
Dubbo Admin 是 Dubbo 官方提供的可视化 Web 交互控制台,基于 Admin 你可以实时监测集群流量、服务部署状态、排查诊断问题。
安全体系
Dubbo 支持基于 TLS 的 HTTP、HTTP/2、TCP 数据传输通道,并且提供认证、鉴权策略,让开发者实现更细粒度的资源访问控制。
服务网格
基于 Dubbo 开发的服务可以透明的接入 Istio 等服务网格体系,Dubbo 支持基于 Envoy 的流量拦截方式,也支持更加轻量的 Proxyless Mesh 部署模式。
最后修改 March 27, 2023: Update governance.md (#2434) (26b1e32fa39)