微服务架构已经是后端架构领域老生常谈的话题了,微服务治理、发现等技术已经在业界有了很多成熟的解决方案,Dubbo 作为一个社区认可度较高的微服务治理框架也在这个方面颇有建树。但是在微服务架构中,服务的数量和复杂度都远超过之前的单体架构,如何保证服务的稳定和高效运行呢?这时候,可观测性就显得尤为重要。 我们都知道 Dubbo 自身有指标监控[1],但仅聚焦在应用代码层面,同时指标只是可观测性主要的数据之一,我们还需要联合日志、追踪等数据共同去观测服务,才能去多维度保证服务的稳定性和可靠性,而 DeepFlow 具备在应用、网络及系统等多个层面采集指标、日志及追踪等数据的能力,同时可基于 AutoTagging 能力,为所有的数据注入上统一的标签,解决数据孤岛的问题。 所以我们基于 DeepFlow 构建了一个针对 Dubbo 协议的可观测性 Dashboard,分别提供在应用、网络及系统三个层面的监控视角,通过分析时延、错误及访问量,可快速定位突发性能瓶颈和异常流量,帮助我们快速排查故障。
作为一名拥有 6 年腾讯工作经验的后台开发者,作者深知在一个庞大且复杂的技术栈中,拥有正确的方法论和思维方式对工作效能影响有多大。在这篇文章中,作者将结合在腾讯工作的具体项目和案例,分享5个方法论:量化、对比、记录&流程、规范&统一、自动化。希望这些经验和方法论能对广大开发者有所帮助,尤其是对于后端开发者而言。
CNCF 上周发布了《CNCF 平台白皮书》,本文译自 CNCF 平台白皮书 [1],介绍了如何构建云原生计算平台以及平台可能提供的能力。这些能力包括 Web 门户、API、黄金路径模板、自动化、开发环境、可观测性、基础设施服务、数据服务、消息和事件服务、身份和密码管理服务、安全服务和工件存储。此外,该文档还介绍了与平台相关的术语,如平台、平台能力提供者、平台工程师、平台产品经理、平台团队和平台用户。
WebAssembly (WASM) 的一个优势就是能够支持将不同语言编译成 WASM 代码,然后在不同的宿主环境中运行。这样就可以在不同的宿主环境中运行不同语言编写的 WASM 代码,比如在浏览器中运行 C/C++ 代码,或者在 Node.js 中运行 Rust 代码。那么,这些不同语言编写的 WASM 代码是如何运行在不同的宿主环境中的呢?在这一章中,我们将会重点介绍这些不同的语言和宿主环境中的 WASM 运行机制。