写点什么

微服务与容器的监控 —— 来自 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:063247
用户头像

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

关注

评论

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

专有云 ABC Stack 推出生态网关,让专有硬件快速上云一个都不能少

Baidu AICLOUD

网关 专有云

十年职场生涯,我的经验与教训

老张

自由职业 职业规划 复盘 职场思考

告别繁琐,一键转换PDF!iCHM Reader Mac版,高效阅读新选择!

理理

TiDB 集群 PD 组件免授权访问解决方案

TiDB 社区干货传送门

实践案例 管理与运维 数据库连接

安能物流 All in TiDB 背后的故事与成果

TiDB 社区干货传送门

实践案例 数据库架构选型

Eudic欧路词典 for Mac(英语词典翻译查询工具) 增强激活版

理理

AI与大数据的深度结合:驱动决策的革命性力量

天津汇柏科技有限公司

AI 人工智能 #大数据

Airbuddy for mac 高效的AirPods耳机管理工具

理理

One Switch for mac一键切换系统各项功能的神器

理理

TiDB数据库placement-rules使用指南

TiDB 社区干货传送门

集群管理 管理与运维 新版本/特性发布 新版本/特性解读 7.x 实践

NTFS Disk by Omi NTFS for mac(NTFS 磁盘管理器) 中文版

理理

科大讯飞air2pro和x3有什么区别

妙龙

科大讯飞 办公本

VMware ESXi 8.0U3c 发布 - 领先的裸机 Hypervisor

sysin

esxi

【12 月 28 日·上海站】TiDB 社区活动走进哔哩哔哩:一起聊聊国产数据库替换下新的使用方式,一套 TiDB 简化技术栈 & 承载企业多业务架构难题!参会还能赢取超级可爱的 B 站周边哟!

TiDB 社区干货传送门

WhaleStudio Demo:如何从Aurora CDC 实时数据同步到Redshift详细演示

白鲸开源

数据同步 aurora WhaleStudio Redshift

荣誉揭晓!观测先锋 · 2024 可观测平台创新应用案例大赛榜单重磅公布!

博睿数据

TiDB 字符集原理和最佳实践

TiDB 社区干货传送门

科大讯飞翻译笔P20和P20 PLUS的区别

妙龙

科大讯飞 翻译笔

VMware ESXi 7.0 U3r 发布 - 领先的裸机 Hypervisor

sysin

esxi

精彩继续!《可观测性体系建设100问》第四章—可观测性平台的技术选型与功能应用

博睿数据

贵阳做等保测评的公司有哪些?在哪里?

行云管家

贵阳 等保 等保测评

Pixelmator Pro for Mac(比肩ps的mac修图软件) 中文激活版

理理

Geekbench 6 v6.2.2激活版 macOS系统跑分工具

理理

新航线管理系统(源码+文档+部署+讲解)

深圳亥时科技

如何做需求分析

易成研发中心

需求分析

IPQ5312 In-Depth Analysis: The Ideal WiFi 7 Router Chip for the Future

wifi6-yiyi

WiFi7 IPQ5312

AI听力练习APP的开发框架

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI听力

航空公司需要用堡垒机吗?哪些场景需要?

行云管家

网络安全 等保 等级保护 航空

汉化版Axure RP 8 授权码 Axure RP 8 安装包分享

理理

KeyShot 9 Pro mac破解版 及安装教程 3D渲染和动画制作

理理

新东方 x TiDB丨从 v1.0 到最新版,选择和升级 TiDB 的全面考量

TiDB 社区干货传送门

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