Spring Cloud、Istio和Dubbo可以为您提供的服务治理功能如下。
调用链
通过表格展示服务间链路调用情况,包括调用链两端服务的名称、调用结果、耗时、接口信息等。
熔断/限流
从服务层面对访问进行熔断/限流。
熔断:一种链路保护机制。当链路的某个微服务不可用或者响应时间过长时,会进行该服务的降级,进而熔断节点上对该微服务的调用,同时快速返回错误的响应信息,防止系统不断地尝试执行可能会失败的调用,过多地占用CPU或内存等资源。当检测到该节点微服务调用响应正常后,系统会自动恢复调用链路。
限流:用于限制该服务能够同时处理的请求的数量,比如限制最多能同时建立三个TCP连接。常用于下游服务容量有限,但又怕出现突发流量猛增(如恶意爬虫、节假日大促等)导致下游服务因压力过大而拒绝服务的场景。
网关
一种对外提供通过网关访问服务的方式,提供路由请求、鉴权、熔断、限流等治理功能。
路由规则:在使用网关功能前,调用方只能通过服务的IP访问该服务。而通过配置路由规则,系统就可以在对外提供服务时,只暴露网关中所配置的服务路由,调用方通过服务路由即可访问服务,而不需要了解具体的服务IP。
认证鉴权:为服务提供访问认证服务,只有通过认证的调用方才可以访问该服务。
限流/熔断:在网关层面对访问进行限流和熔断。
配置中心
为服务提供环境变量的统一管理入口,用于配置并存储应用所需的配置信息。您可以自定义配置文件内容,在容器中加载使用后,容器重启时不会丢失该配置信息。
查看服务
查看所有已注册的服务信息,包括服务/实例数据。
链路查询
平台提供全部链路的统一查询入口,通过服务名称,可以查询该服务所有的调用链信息。调用链信息通过表格展示,包括调用链两端服务的名称、调用结果、耗时、接口等。
灰度服务
灰度发布是迭代的软件产品在生产环境安全上线的一种重要手段。可以通过既定的规则和策略,根据流量或者其它设定参数,控制灰度流量转发。
|
告警服务
告警功能可以在服务发生异常时及时通知给相关人员。可以设置告警规则衡量的指标以及阈值,比如集群状态、组件连接数等,当指标超过阈值时就会发送告警。
Nacos管理
如果使用Nacos组件,可以在Nacos管理中对Nacos的配置、注册到Nacos组件下的服务和Nacos的命名空间进行编辑。
调用链拓扑图
通过可视化拓扑图展示完整的调用链还原情况,异常服务/链路用红色标识;通过表格展示调用链情况,包括产生调用链时两端服务的名称、调用结果、耗时、接口信息等。拓扑图与调用链表结合,可以帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。
负载均衡
为服务实例提供负载均衡功能,实现网络流量的引流。
故障注入
将用户自定义的故障注入目标服务,从而测试目标服务在延时过高或其他原因导致服务调用失败的场景下的处理能力,用户根据测试结果进行优化或提前准备解决方案,以增强应用的健壮性。
超时重试
一种最常见的容错模式。在分布式服务调用的场景中,它主要解决了当依赖服务出现建立网络连接或响应延迟时,不用无限等待的问题,调用方可以根据事先设计的超时时间中断调用,及时释放关键资源。
安全
通过TLS认证配置,使某些请求在访问服务时需进行身份认证或直接拒绝该请求。
查看服务
查看所有已注册的服务信息,包括服务/应用名称和版本。
告警服务
告警功能可以在服务发生异常时及时通知给相关人员。可以设置告警规则衡量的指标以及阈值,比如集群状态、组件连接数等,当指标超过阈值时就会发送告警。
Nacos管理
如果使用Nacos组件,可以在Nacos管理中对Nacos的配置、注册到Nacos组件下的服务和Nacos的命名空间进行编辑。
服务治理
Dubbo服务引擎组件的服务治理功能包括服务降级、改变服务权重、负载均衡和服务禁用。
路由
通过将某一个或多个服务的提供者划分到同一个分组,约束流量只在指定分组中流转,从而实现流量隔离的目的,可以作为蓝绿发布、灰度发布等场景的能力基础。