可观测介绍
彼得·德鲁克曾经说过:“如果你无法量化它,你就无法管理它。” 可观测性(Observability)是帮助微服务稳健运行的重要一环。“我们的系统是否还是正常的?”,“终端用户的体验是否符合预期?”,“我们如何在系统快要出问题之前主动发现系统的风险?”。如果说监控可以告诉我们系统出问题了,那么可观测就可以告诉我们系统哪里出问题了,什么原因导致的问题。可观测不但可以判断系统是否正常,还可以在系统出现问题之前,主动发现系统风险。
从系统的角度来讲,监控以 Ops 为主,聚焦在发现,确保系统稳定性。可观测性的目标是白盒化,注重 Recall+Precision,贯穿 Dev/Tester/Ops 等环节,通过多种观测手段,确保找到根因,防患于未然。
云原生下微服务应用可观测的挑战
目前,常见的微服务框架包括 Spring Cloud 和 Dubbo 等多语言微服务,并具备服务注册发现、服务配置、负载均衡、API 网关、分布式微服务等基本能力。其中,服务治理包括无损下线,服务容错,服务路由等能力。可观测性包括应用监控,链路追踪,日志管理,应用诊断等。
随着云原生到来,微服务架构得到越来越多的应用。由最初以机器为核心的云服务器 ECS 上云,到以容器为核心的容器化云原生部署;为了更加敏捷,阿里云开始以应用为核心的微服务化。如今,当微服务发展到一定应用规模,阿里云开始围绕业务核心,以提效稳定为目的的服务治理。
在云原生下的微服务可观测主要面临三个挑战:
- 发现难
从云服务器 E