开发者学堂课程【云原生实践公开课:使用服务网格可观测性为应用服务保驾护航】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/698/detail/12279
使用服务网格可观测性为应用服务保驾护航
内容介绍:
一、服务网格简介
二、可观测性
三、链路追踪的传统解决方案
四、ASM链路追踪解决方案
五、ASM链路追踪架构
六、实践ASM链路追踪
七、应用需要进行的改造
八、实践ASM链路追踪–常见问题
一、服务网格简介
应用之间的通信层,把应用之间的流量都接管,然后把一些能力抽象出来,放在通讯层之间,在传统的通讯层之间,服务应用之间是通过PCD+应用层协议通信。
为了适应现在日新月异加速发展,服务团队经常需要集成很多与业务无关的代码,服务网格还可以做到一些非常精细的管理,分布式应用之间的通信层,抽象了通信层的通用能力,例如路由管理、限流、链路追踪等等
二、可观测性
包括三个方面:监控,链路追踪,日志三个方面
(1)监控
服务延迟、流量状况、报错情况、负载状态
(2)链路追踪
展示服务调用链路、单次调用信息,帮助运维人员梳理调用关系,帮助开发者更深
入地理解自己的服务。
(3)日志
网格内的所有workload的请求均会被日志记录,日志包含调用的源、目标以及元信
息,使用户可以从workload维度审视服务行为。
三、链路追踪的传统解决方案
(1)应用修改代码,集成链路追踪SDK,增加上报逻辑
(2)多语言集成困难,人力成本高
(3)需要自行搭建、维护链路追踪系统
四、ASM链路追踪解决方案
对应用代码侵入极低
不需要考虑多语言问题
配合阿里云XTrace,不需要搭建追踪系统,开箱即用
五、ASM链路追踪架构
1、Pod - 1:lstio-proxy、User-Container
2、zipkin service
3、Alibaba XTrace
4、Customized Tracing System Pod:Customized Tracing System
六、实践ASM链路追踪
1、部署演示应用Bookinfo
浏览器搜索39.100.55.107/productpage(功能设置更新)
将链路追踪功能打开,选择默认是阿里云XTrace,如果需要自行搭建可以点击如何使用自建
对页面多次进行访问,方便查询访问信息
点击链路追踪,进入tracing-analysis.console.aliyun.com页面,选择应用列表,就
可以看到所有应用的列表
2、访问部署好的Bookinfo应用,产生追踪信息
3、查看一次调用的完整链路
七、应用需要进行的改造
1.需要应用进行的小改造
传播B3 Header,调出是需要吧header传出去
2.为什么需要进行这个改造?ASM无法代劳吗?
服务网格的代理是无法分析从用户的应用这个黑盒中发出的请求,去调用其他应用发出的请求,网格代理无法做到。这是网格代理会为这个请求申请一个新的id,但是只能独立查看。
八、实践ASM链路追踪–常见问题
1.链路追踪对性能是否有影响?
有影响,虽然网格代理上是异步进行,但是当请求的数量比较大时,对cpu节点还
是有一定的影响的。
可以将链路追踪的比例调低,避免消耗过多的资源。
2.可以自己搭建追踪系统吗?
可以。
只要我们使用自己搭建的系统,收集相关信息,确保我们导出的目标是支持当前系统。