10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

微服务与容器的监控 —— 来自 Adrian Cockcroft 的挑战

  • 2015-07-09
  • 本文字数:1902 字

    阅读完需:约 6 分钟

GlueCon 2015 大会上的一场演讲中,Adrian Cockcroft 为听众列举了如何对微服务与基于容器的应用进行监控的多条规则。除了这些指导方针之外,Cockcroft 也着重强调了在监控 cloud native 并且基于容器的系统时所面临的一系列挑战,并介绍了一个由他设计的微服务模拟与可视化工具,名为“Spigo”,它能够帮助开发者对大规模微服务的监控进行测试。

Cockcroft 是来自于 Battery Ventures 的技术专家,他在演讲中首先列举了关于微服务与容器监控的一系列规则,这其实是于 Monitorama 2014 大会上首次提出的规则的一个升级版本。

  1. 将更多的时间用于编写对数据指标的意义进行分析的代码,而不是用于编写收集、移动、保存以及显示指标的代码。
  2. 让关键业务指标的延迟降低到人类注意力的持续时间以下 (约 10 秒左右)。
  3. 请验证你的衡量系统是否具有足够的精确度与准确度,并将收集到的响应时间数据以柱状图表示。
  4. 对于比目前监控中的系统(与服务)需要更高可用性与可伸缩性的系统进行监控。
  5. 对分布式的、短期的、“cloud native”、容器化的微服务的监控进行优化。
  6. 让指标与你的模型相一致,以便理解它们之间的关系(这是一条新的规则)。

Cockcroft 表示,这条新的规则,即“让指标与模型相一致”是必不可少的。因为基础设施、数据流以及自主权与组织结构等因素往往是互不相交的,只有将它们关联在一起,指标才能够表现出其意义。随后,Cockcroft 将微服务定义为“一种由边界上下文组成的松耦合面向服务架构”,在此定义的基础上深入讨论了在监控微服务与容器技术(例如 Docker )时所面临的一系列挑战。

首先提出的一个挑战是“复杂性”,Cockcroft 表示在一体性的应用程序内部的依赖是无限制的,比起具有明确的、可视的微服务依赖,其复杂性可能会高出许多,要检测出所有的外部依赖是一件非常困难的是。第二个挑战是“变更的速度”,它所表示的是在对基于容器的微服务应用进行持续部署时,可以实现的变更速率已经达到了相当的高度,这也带来了相应的问题:

对于容器应用来说,每分钟一次进行 CPU 占用率的检测已经失去意义了……从监控工具的角度来看,如何应对这种变更速率是一个巨大的挑战。

“大规模化”是第三个被提出的监控挑战,这里的规模不仅是指运行中的容器与机器的数量,还必需考虑到“ cloud native ”中的相关概念,例如地区和可用性区域。当然也要考虑服务本身的大规模化,以及可能会发生的多个版本的服务并行运行的情况。

Cockcroft 还表示,“数据流”也是微服务架构中一种内在的挑战。虽然有某些工具能够跨多个服务展示请求流,例如 Netflix 的 Atlas (以及相关的应用)、AppDynamics 的应用性能管理工具,以及Twitter 的 Zipkin ,但我们所关注的架构可能会包含多个微服务,这就意味着如何使这些服务做到可视化成为一个实在的挑战。

在微服务架构的应用程序中,产生“故障”的可能性是一个始终存在的挑战,而在云环境中,这一问题往往被进一步放大。举个例子,如果某个可用性区域出现了分区或故障,该如何在监控或分析平台中显示这一情况?按照设定,cloud native 的应用在出现部分可用性区域故障时会继续运行,因此这种情况本身并不算是一种“故障”。但应将这一情况通知系统的运维人员,甚至可能需要停止应用的部署。

在这种情况下,如何理解、并且对微服务的故障模式进行交流,这一点正是挑战之所在。

对于大规模的微服务及容器监控工具进行测试的过程会很快造成高昂的代价,因此,对这一场景进行模拟是一种可行的方案。Cockcroft 为听众介绍了他所设计的微服务模拟器“Spigo”(又名“simianviz”),可以通过它对你所关注的微服务架构进行建模与可视化。

Spigo,或者说 simianviz 是一个基于 Go 与 D3.js 开发的应用程序,能够生成人为的测试微服务系统。它完全能够模拟大规模的系统配置,最终目标是能够支持对实际应用中的监控工具进行负载测试。此外,Cockcroft 还计划让这套工具支持更多的特性,例如动态地变换代码提交以及配置的自动伸缩、支持 Netflix 用于处理区域及地区故障的 chaos gorilla 工具的建模,以及在 Spigo(simianviz)的多个显示之间建立 WebSocket 连接。

这是我为你提出的挑战:用 Spigo 创建你的架构,让它对你的监控工具进行负载测试,并让它帮助你修复微服务的监控过程中的问题。

关于 Adrian Cockcroft 在 GlueCon 大会上所做的演讲,可以在 Cockcroft 的 SlideShare 帐号下找到更多的信息与幻灯片。此外还可以在 GitHub 上找到 Spigo 或 simianviz 的源代码。GlueCon 是一个一年一度的开发者会议,它专注于云计算、DevOps、移动、API 与大数据,可以在 GlueCon 网站上找到更多的信息。

查看英文原文: Monitoring Microservices and Containers: A Challenge by Adrian Cockcroft

2015-07-09 09:063626
用户头像

发布了 428 篇内容, 共 193.6 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

【kafka运维】Topic的生产和消费运维脚本

石臻臻的杂货铺

kafka kafka运维 10月月更

Vue_Webpack详解

Studying_swz

前端 10月月更

算法 | 详解斐波那契数列问题

甜点cc

JavaScript 算法 10月月更 斐波那契数列

【网络安全篇】--HTML基础(预计学习时间:30分钟)从此以后不迷糊~

贤鱼很忙

html 前端 10月月更

Python列表和元组有什么区别

芥末拌个饭吧

后端 python 3.5+ 10月月更

面试官:数据库加了唯一索引,就不会有重复数据了吗???

小小怪下士

Java MySQL 程序员

复杂场景数据处理的 OLTP 与 OLAP 融合实践

NebulaGraph

数据库 知识图谱

2022年第六届数据质量管理国际峰会重磅开启

数据质量管理智库

数据 数据隐私 数据安全 峰会 数据质量

以指标驱动业务决策,Kyligence 亮相 Gartner IT Symposium/Xpo™ 峰会

Kyligence

数据分析 指标中台 OLAP技术

vue-router学习-1

Studying_swz

前端 10月月更

基于Ernie-3.0 CAIL2019法研杯要素识别多标签分类任务

汀丶人工智能

nlp

校招面试真题 | 显式等待与隐式等待的区别?与强制等待的方式分别是什么,有什么区别?

霍格沃兹测试开发学社

全彩LED显示屏近年来在中国的发展趋势

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

记一个“奇葩”需求的实现

甜点cc

JavaScript 前端 Element UI 10月月更

【高并发】深度解析ScheduledThreadPoolExecutor类的源代码

冰河

并发编程 多线程 高并发 协程 异步编程

技术分享 | 测试开发工程师必读经典好书清单,抽奖赠书送福利!

霍格沃兹测试开发学社

升级全新网络方案,给你低成本、高性能的裸金属体验

华为云开发者联盟

云计算 后端 华为云 云服务器 企业号十月 PK 榜

牛客刷题系列之初阶版(自守数,返回小于 N 的质数个数,第一个只出现一次的字符)

雪芙花

c c++ 10月月更

openGemini内核源码正式对外开源

华为云开发者联盟

数据库 物联网 华为云 企业号十月 PK 榜

Java中的super和this关键字详解

共饮一杯无

Java 10月月更 super和this关键字

HashMap源码分析(六)

知识浅谈

hashmap 10月月更

热门探讨:为何数字化转型的企业,大都“死”在了黎明前夕?

优秀

数字化转型

你真的了解v-model吗🔥

渔戈

前端 Vue3 10月月更

《Go语言学习路线图》让你少踩坑,高效学,Let’s Go!

王中阳Go

golang 学习方法 技术专题合集 10月月更 “程”风破浪的开发者

你真的了解过Vue的组件化开发吗🔥

渔戈

前端 Vue3 10月月更

Vue的开发模式与webpack🔥

渔戈

前端 Vue3 10月月更

一种基于柔性事务的分布式事务解决方案设计探究

京东科技开发者

编程 分布式事务 事务 事务回滚 柔性事务

【网络安全篇】JavaSript基础内容大全

贤鱼很忙

10月月更

C++精通之路:红黑树

雪芙花

c c++ 10月月更

牛客刷题系列之进阶版(搜索旋转排序数组,链表内指定区间反转)

雪芙花

c c++ 10月月更

详解Native Memory Tracking 追踪区域分析

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

微服务与容器的监控 —— 来自Adrian Cockcroft的挑战_服务革新_Daniel Bryant_InfoQ精选文章