写点什么

可观察性和微服务

  • 2018-06-21
  • 本文字数:1359 字

    阅读完需:约 4 分钟

InfoQ 最近报道了 Ben Linders 与 Poppulo 的 SRE(站可靠工程,Site Reliablity Engineering)经理 Pierre Vincent 就“可观察性和分布式系统”问题的访谈。近几年,InfoQ 针对“可观察性”推出了多篇文章,特别是对“无服务器”和“微服务”的关注。在该方向上,已具有一些为开发人员提供帮助的开源项目,其中包括 Prometheus、OpenTracing 和 Envoy ,以及最近推出的 Kiali

来自 Aspen Mesh 的 Zach Jor 最近撰文,进一步阐述了他对此问题的看法。在文章开篇,他给出了自己数年中对多个人做事情况的一个观察,即尽管将单体应用分解为微服务或许是有必要的,但是这种做法并非一定会自动形成一个更易实现的系统,系统中一些行为甚至会变得更以实现:

一个复杂性明显增加的方面就是服务间的通信。服务间通信的可见性将难以实现,而这种可见性对于构建优化灵活的架构是至关重要的。

Zach 指出,监控技术业已存在多年,目的在于给出系统整体健康状况的一个概览。而对于基于云的分布式系统(这在微服务中是十分常见的),意在提供系统行为数据的可观察性理念正变得日益重要。

可观察性主要涉及如何提供数据,以及如何使关键信息易于访问。这些关键信息是人们在通信失败时希望能查看的,但它们有时并非按人们所希望的情况给出,有时也会在不应该出现时提供。人们需要监控、管理和控制运行时服务间的相互交互方式,因而提出了可观察性以及理解微服务架构行为的问题。

Zach 认为, Istio 等服务网格(Sevice Mesh)技术的出现,使得可观察性已成为那些寻求使用服务网格或依此做开发的人们的首要需求(尽管 Zach 所在的企业具有自身的服务网格实现,但文中所给出的观点是与具体实现无关的,因此值得一读)。进而,他继续提出了可由服务网格提供的两个主要可观察性特性。第一个特性是“追踪”,用于厘清各个事务分别涉及了哪些微服务:

对于调试并理解应用的行为,分布式追踪非常有用。了解所有追踪数据的关键,就是能够关联多个与单个客户端请求相关的不同微服务。要实现追踪,应用中的所有微服务应该发布可追踪的头部信息。

第二个特性是“度量”。度量基于跨服务网格自动采集的遥测数据。应收集的重要度量包括请求量、请求时长、请求延迟和请求大小等。

微服务中的大部分故障都发生在服务间的交互过程中。因此,洞悉这些事务的内部情况,有助于团队更好地管理架构,以免发生失败。使用由服务网格提供的可观察性,人们更易于查看服务在彼此交互期间所发生的情况,从而更易于构建更为高效、灵活且安全的微服务架构。

值得关注的是,Zach 文中所谈及的一些观点,也是 2017 年底 InfoQ 在对 2018 年预测中提出的观点,即监控和可观察将成为开发人员的关键因素之一。当时, RisingStack 的 CTO Péter Márton 提出了如下看法:

要使微服务监控和可观察性更上一层楼,进而进入下一代 APM 工具的新时代,我们需要的是 OpenTracing 这样的开放、独立于软件提供商的监管(instrmentation)标准。这样的新标准还需要得到 APM 厂商、服务提供商和开源软件库维护者的采纳。

回顾近八个月期间,我们肯定能看到一些项目的出现。无论是否基于服务网格技术,这些项目正使可观察性成为微服务体系结构关键组成部分。同时,我们也看到开发人员正蓄势待发。例如,Eclipse MicroProfile 中添加了对 OpenTracing 的支持。

查看英文原文: Observability and Microservices

2018-06-21 07:592207
用户头像

发布了 391 篇内容, 共 139.8 次阅读, 收获喜欢 257 次。

关注

评论

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

华秋干货铺 | HDMI接口需注意的PCB可制造性设计问题

华秋电子

为什么 Serverless 能提升资源利用率?

阿里巴巴云原生

阿里云 Serverless 云原生

MobPush 消息重弹

MobTech袤博科技

2023年甘肃省等级保护测评机构新鲜出炉!

行云管家

等保 等级保护 甘肃

微服务高并发概念与核心类:了解Sentinel的一些概念

互联网架构师小马

Java 微服务 sentinel

v7.1 LTS Resource Control 试用

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

见“芯”知著,浅析北斗芯片关键技术

江湖老铁

北京云管平台采购选哪家?为什么?多少钱?

行云管家

云计算 多云管理 云管平台 云管平台厂商

Vue-缓存路由组件

张三丰无极

6 月 优质更文活动

微服务高并发流量服务降级、限流、熔断、流量效果控制

互联网架构师小马

Java 微服务

普通Java工程师如何成长为一名优秀的架构师?

程序员小毕

程序人生 高并发 架构师 java程序员 java面试

提示工程七巧板:让ChatGPT发挥出最佳性能

博文视点Broadview

第十一届“创业江苏”科技创业大赛正式启动

科兴未来News

SAP ABAP SM50 事务码的另类用途 - ABAP工作进程对数据库表读取操作的检测

汪子熙

SAP abap Netweaver 思爱普 6 月 优质更文活动

# 文盘Rust -- tokio绑定cpu实践

TiDB 社区干货传送门

开发语言

v7.1.0 Resource Control 功能测试

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

Testng和Junit5多线程并发测试对比

javalover123

Java 单元测试 JUnit testNG junit5

【TiDB Future App Hackathon 2023 】TiDB 首届全球黑客马拉松,开发者的狂欢夏日盛会!快来一起 Coding 吧!

TiDB 社区干货传送门

企业级低代码平台:企业IT部门的得力助手

优秀

低代码 快速开发 企业级低代码

专访泛境科技:如何借助3DCAT实时云渲染打造元宇宙解决方案

3DCAT实时渲染

元宇宙 元宇宙解决方案 元宇宙实时云渲染

FinClip | 来看看5月的成绩单吧

FinClip

tidb变更大小写敏感问题的总结

TiDB 社区干货传送门

集群管理 故障排查/诊断

5分钟了解Kubernetes Ingress和Gateway API

俞凡

架构 云原生 网络

终极指南:Scrum中如何设置需求优先级

敏捷开发

项目管理 Scrum 敏捷开发 优先级

微服务架构中的数据一致性:解决方案与实践| 得物技术

得物技术

微服务 数据一致性

深度解析Java程序员从入行到被裁全过程

Java全栈架构师

程序人生 后端 架构师 java程序员 java面试

科兴未来|第四届中国·盐城创新创业大赛

科兴未来News

FreeRTOS使用 — 合理使用内存 “ 任务中创建任务 ”

矜辰所致

内存管理 FreeRTOS 任务创建 6 月 优质更文活动

图数据库在通信行业有哪些应用?

悦数图数据库

洋洋洒洒2000字带你了解微服务高并发知识:Sentinel的特性

互联网架构师小马

Java 微服务 sentinel

微服务高并发基础知识:Sentinel性能压测

互联网架构师小马

Java 微服务 sentinel

可观察性和微服务_DevOps & 平台工程_Mark Little_InfoQ精选文章