1.3.1 传统分布式架构与云原生的一致性支持
随着近十年服务化和微服务化的进程,以RPC和HTTP服务为通信技术核心,以注册中心作为服务注册与服务发现的架构,已经成为国内成熟的微服务“传统”架构。主流技术有Spring Cloud、Apache Dubbo等。SkyWalking从2015年项目诞生之初,就把这种传统的分布式架构及自动探针作为最为核心的功能。SkyWalking可以无缝支持已经稳定的分布式服务架构,方便替换传统的监控手段,而无须增加运维团队和开发团队的工作量。
同时,从2018年起,由Google、Lyft和CNCF的Istio与Envoy组成的Service Mesh方案开始流行,提供了在Kubernetes上创新的分布式服务管理、监控和安全管理能力。SkyWalking项目团队也一直关注这一动向,在Istio 1.0.4发布的同时发布了SkyWalking 6的测试版本,并在3个月后开始发布SkyWalking 6稳定版本。在6.x版本中,SkyWalking针对Istio和Envoy组成的Service Mesh方案提供了核心适配能力。用户可以认为Service Mesh构成了SkyWalking的一种新的语言无关的探针形式。利用SkyWalking的后端OAP平台以及UI,可以对Service Mesh管理中的服务提供同样的依赖拓扑、服务性能指标、告警等能力。90%以上的配置与使用其他语言探针(如Java探针)时完全一致。
这也是首个在开源软件中实现语言探针和Service Mesh一致性解决方案的项目。为不同公司的技术栈提供统一的监控能力,更有利于公司在未来系统架构升级中保持监控系统的一致性。这个一致性不单单指SkyWalking的使用,更是对于用户在SkyWalking构建的生态系统,如告警平台、AIOps、指标基线计算系统、弹性计算等,保持一致性。