在企业应用向容器化和微服务转型的过程中,形成了庞大且复杂的分布式微服务架构。需要一个系统来管理和运营这些服务,帮助开发者解决服务发现、负载均衡、故障恢复、指标收集与监控、金丝雀发布、限流、访问控制、端到端认证等挑战。
Istio 提供了全面的微服务解决方案,通过为整个服务网格提供行为洞察和运营控制,满足微服务应用的多样化需求。借助高度实用的 Istio 实现,企业用户只需将服务接入平台,即可无侵入地为企业应用和服务提供全面的治理能力。功能涵盖服务全局可视化、服务发布管理、可靠的服务连接治理、服务网格生命周期管理、服务故障排查及服务安全治理场景。
在复杂的微服务应用场景中,面对大量服务和错综复杂的服务间调用关系,开发者需要实时监控服务的整体运行情况,了解组件间的通信。当业务发生故障或性能问题时,能够快速定位具体问题位置,提高运维效率,降低业务运营风险。
平台集成了 Istio 与 OpenTelemetry Java Agent 和 Jaeger,提供全面的可观测能力。
以非侵入方式采集监控数据,使开发者专注业务开发,无需担心如何获取监控数据。
以可视化图表展示服务调用拓扑和流量监控数据,支持调用链数据查询。
通过表单快速配置和管理服务流量治理策略、路由规则及安全策略。
在微服务应用的快速迭代和优化过程中,如果新版本直接推送给所有用户,遇到线上事故(如因大规模流量变更导致的故障、崩溃等)且无法快速解决,将严重影响用户体验。
在微服务系统中发布新版本应用时,需要尽量减少对业务的影响,同时帮助开发者验证新版本的功能、性能和用户满意度。
平台基于 Istio 的路由能力和开源 Flagger 组件实现金丝雀发布功能。在服务新版本发布过程中,部分用户继续使用旧版本,部分用户使用新版本。如果新版本稳定且用户无异议,可逐步增加新版本流量比例,直至所有用户迁移至新版本。
金丝雀发布过程中,能够及时发现问题、修复缺陷,实时监控流量行为。对发布异常情况可自动回滚,最大限度降低影响。
在大规模微服务系统中,服务间调用关系复杂。一旦某服务发生故障且问题持续时间较长,可能会级联影响其他服务,导致系统崩溃。
因此,对于微服务系统的开发者和运维人员来说,实时观察服务健康状态以防范潜在风险,并在业务故障时通过详尽的监控数据快速排查故障至关重要。
平台构建了完整的服务问题排查路径。当用户服务出现故障时,可通过追踪异常流量定位故障位置,缩小排查范围,结合日志和监控数据分析具体原因,快速解决问题。
提供关联拓扑图、流量监控面板、调用链和日志,构建完整的故障排查路径。
支持通过流量监控面板查看服务、Pod 和 API 级别的流量数据。
在微服务架构中,一个应用由多个服务组成,每个服务承担单一业务功能。服务间的数据交互通过远程调用完成。这带来一个问题:当服务 A 调用服务 B,服务 B 又调用其他服务时,如果其他服务响应时间过长或不可用,调用服务 A 的请求将占用越来越多资源,导致系统崩溃,这被称为雪崩效应。
为避免微服务系统中的雪崩效应,平台支持为服务配置流量治理策略和路由规则,制定保护机制和故障模拟,确保服务连接的可靠性,提升微服务系统整体稳定性。
支持负载均衡策略、熔断和连接池设置。
支持基于路由的错误注入、延迟响应、超时重试、请求重写和流量镜像。
将单体应用拆分为服务后,提升了开发效率、系统稳定性和运维效率。服务间调用由本地调用变为网络协议接口调用,带来安全风险。因此,微服务治理平台需要支持流量加密和服务间调用的授权配置,并提供校验和审计功能。
平台为服务间流量提供加密。通过为服务设置安全策略,可使用 mTLS 加密流量。
通过为服务设置黑名单或白名单,实现同一网格内服务间的访问控制。
完整的 Service Mesh 不仅包含 Istio 组件,还包括集成的扩展组件。在多集群环境下,服务网格管理尤为复杂。服务网格生命周期中,不仅涉及部署、更新和删除,更重要的是监控服务网格的健康状态,帮助运维人员及时发现异常、排查故障,确保业务持续稳定支撑。
提供服务网格的全面生命周期管理功能,包括部署、更新、删除和健康监控。
服务网格管理:服务网格核心及扩展组件的部署、更新和删除。
组件健康检查:核心及扩展组件的健康检查。
功能健康检查:主要功能的健康检查,包括内置功能相关的检查项。
监控:集成 Prometheus 和 Grafana,提供默认仪表盘、监控组件及业务信息。