主要功能

Spring CloudIstio可以为您提供的服务治理功能如下。

Spring Cloud

调用链

通过表格展示服务间链路调用情况,包括调用链两端服务的名称、调用结果、耗时、接口信息等。

熔断/限流

从服务层面对访问进行熔断/限流。

一种链路保护机制,当链路的某个微服务不可用或者响应时间过长时,会进行该服务的降级,进而熔断节点上对该微服务的调用,同时快速返回错误的响应信息,防止系统不断地尝试执行可能会失败的调用,过多地占用CPU或内存等资源。当检测到该节点微服务调用响应正常后,系统会自动恢复调用链路。

用于限制该服务能够同时处理的请求的数量,比如限制最多能同时建立三个TCP连接。常用于下游服务容量有限,但又怕出现突发流量猛增(如恶意爬虫、节假日大促等)导致下游服务因压力过大而拒绝服务的场景。

网关

一种对外提供通过网关访问服务的方式,提供路由请求、鉴权、熔断、限流等治理功能。

在使用网关功能前,调用方只能通过服务的IP访问该服务,而通过配置路由规则,系统就可以在对外提供服务时,只暴露网关中所配置的服务路由,调用方通过服务路由即可访问服务,而不需要了解具体的服务IP

为服务提供访问认证服务,只有通过认证的调用方才可以访问该服务。

在网关层面对访问进行限流和熔断。

配置中心

为服务提供环境变量的统一管理入口,用于配置并存储应用所需的配置信息。您可以自定义配置文件内容,在容器中加载使用后,容器重启时不会丢失该配置信息。

Istio

调用链拓扑图

通过可视化拓扑图展示完整的调用链还原情况,异常服务/链路用红色标识;通过表格展示调用链情况,包括产生调用链时两端服务的名称、调用结果、耗时、接口信息等。拓扑图与调用链表结合,可以帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。

熔断/限流

从服务层面对访问进行熔断/限流。

负载均衡

为服务实例提供负载均衡功能,实现网络流量的引流。

故障注入

将用户自定义的故障注入目标服务,从而测试目标服务在延时过高或其他原因导致服务调用失败的场景下的处理能力,用户根据测试结果进行优化或提前准备解决方案,以增强应用的健壮性。

超时重试

一种最常见的容错模式。在分布式服务调用的场景中,它主要解决了当依赖服务出现建立网络连接或响应延迟时,不用无限等待的问题,调用方可以根据事先设计的超时时间中断调用,及时释放关键资源。

安全

通过TLS认证配置,使某些请求在访问服务时需进行身份认证或直接拒绝该请求。

链路查询

PaaS平台提供全部链路的统一查询入口,通过服务名称,可以查询该服务所有的调用链信息。调用链信息通过表格展示,包括调用链两端服务的名称、调用结果、耗时、接口等。