前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式链路追踪:Skywalking 的链路模型设计

分布式链路追踪:Skywalking 的链路模型设计

作者头像
35岁程序员那些事
发布2020-09-01 15:39:32
1.2K0
发布2020-09-01 15:39:32
举报

SkyWalking 是一个开源 APM 系统,包括针对 Cloud Native 体系结构中的分布式系统的监视、跟踪、诊断功能。核心功能如下:

- 服务、服务实例、端点指标分析

- 根本原因分析,在运行时分析代码

- 服务拓扑图分析

- 服务,服务实例和端点依赖性分析

- 检测到慢速服务和端点

- 性能优化

- 分布式跟踪和上下文传播

- 数据库访问指标,检测慢速数据库访问语句(包括 SQL 语句)

- 报警

SkyWalking 目前是 Apache 顶级项目,作为这么优秀的开源项目,它的架构设计理念肯定会有很多值得我们借鉴。

### 云原生方法论

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。

这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。

云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。CNCF 通过将最前沿的模式民主化,让这些创新为大众所用。

从这个定义中,我们可以看到云原生应用除了要长在云上,还具备几个典型特征:弹性可扩展(scalable)、松耦合(loosely coupled)、容错性好(resilient)、易于管理(manageable)、便于观察(observable)、频繁变更(changes frequently)。为了支持或实现这些特征,CNCF 列举了一些典型的技术手段,即:

- **容器**:使用容器作为应用的部署和运行单元,让应用彼此隔离、也从环境中隔离出来,有助于上层资源隔离、组件重用,更易移植,便于观察,并且很容易进行标准化的生命周期管理;

- **服务网格**:使得服务访问与服务提供者的拓扑结构(位置)解耦,从而减少系统变更的风险,便于观察跨组件的交互;

- **微服务架构**:松耦合的微服务让细粒度的升级或弹性扩展成为可能,使得应用更加敏捷和易于维护、演进;

- **不可变基础设施**:替换组件或资源的实例而不是去修补它们,这种新陈代谢的方式能防止配置出现失真,提升了系统的可重复性和可预测性,对大规模、高速运转的应用运维至关重要;

- **声明式 API**:应用之间、应用的微服务之间以及应用与其依赖、环境之间都使用 API 作为 Contract,屏蔽实现,实现完全的松耦合。

如何快速的开发一个云原生应用,作者通过通读 CNCF 官方文档,再结合自己对云原生的理解,谈谈自己的想法,都是属于自己的方法论,有不对的地方可以指出。

云原生应用架构如下:

原创不易,欢迎关注作者的gitchat账号,并订阅文章,分布式链路追踪:Skywalking 的链路模型设计

https://gitbook.cn/new/gitchat/activity/5edc4604a7b8bf6bae03353a

您的打赏也是我持续输出优秀的原创文章的一点动力

往期文章精选:

分布式链路追踪:Skywalking 探针模型设计

分布式链路追踪 Skywalking:告警和度量架构设计

分布式链路追踪 Skywalking:插件化和模块化架构设计

分布式链路追踪Skywalking Skywalking 存储客户端设计

源码分析-分布式链路追踪:Skywalking存储插件能力-elasticsearch

架构师如何技术选型-全链路监控

基于Skywalking全链路行业解决方案

Nacos源码分析系列之整体分层架构

Nacos源码分析系列之Naming模块-集群篇-初级版

Nacos源码分析系列之Naming模块-集群篇-理论概念

Nacos源码分析系列之Naming模块-如何运行篇

游侠-一名对技术、业务、架构和管理融合之道孜孜不倦的高级码农

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构随笔录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档