「12张手绘图」我搞懂了微服务架构(15)

②调用链监控 APM

很多公司都有调用链监控 , 就譬如阿里有鹰眼监控 , 点评的 Cat , 大部分调用链监控(没错 , 我指的 Zipkin)架构是这样的:

当请求进入 Web 容器的时候 , 会经过创建 Tracer , 连接 Spans(模拟潜在的分布式工作的延迟 , 该模块还包含在系统网络间传递跟踪上下文信息的工具包 , 如通过 HTTP Headers) 。

Spans 有一个上下文 , 其中包含 Tracer 标识符 , 将其放在表示分布式操作的树的正确位置 。

当我们把图中的各种 Span 放到后端的时候 , 我们的服务调用链会动态的生成调用链 。

下面是一些市场上用的比较多的调用链监控对比:

熔断、隔离、限流、降级

面对巨大的突发流量下 , 大型公司一般会采用一系列的熔断(系统自动将服务关闭防止让出现的问题最大化)、隔离(将服务和服务隔离 , 防止一个服务挂了其他服务不能访问)、限流(单位时间内之允许一定数量用户访问)、降级(当整个微服务架构整体的负载超出了预设的上限阈值或即将到来的流量预计将会超过预设的阈值时 , 为了保证重要或基本的服务能正常运行 , 我们可以将一些不重要或不紧急的服务或任务进行服务的延迟使用或暂停使用)措施 。

推荐阅读