Go可观测性实践Go工程可观测性实践 周曙光 得物 Go开发 目 录 可观测性概述 01 链路追踪 02 指标 03 可观测性概述 第一部分 广义的可观测性:可以根据系统的外部输出信息推断出系统内部状态的好 坏。 软件系统的可观测性:一种度量能力,能帮你更好的理解系统当前所处的 任何状态。如果无需发布新代码就可以理解任何新的或怪异的状态,那么 系统就具备可观测性。 什么是可观测性? 可观测性开源产品 可观测性开源产品 每种方案都有特定的、自定义的 步骤来生产和转移符合后端存储 的遥测(Telemetry)数据,这就带 来了工具或者厂商的绑定性。 为了解决“厂商锁定问题”,监控和可观测性社区过去创建了很多开源项 目,比如OpenTracing和OpenCensus,这些标准允许用户实时收集遥测 数据并传输到所选择的后端,最终在2019年,两个组织共同组建OTel项目, 并由CNCF负责。 并由CNCF负责。 OTel目前已经成为可观测性方案开源标准,标准的好处就是有了很多选择。 OpenTelemetry OTel 组件 • API • SDK • Exporter • Collector OTel Collector • Receiver • Processor • Exporter 微服务业务架构图 项目工程layout 遥测数据处理架构 链路追踪 第二部分0 码力 | 35 页 | 2.88 MB | 1 年前3
统一建模语言 UML 参考手册 - 基本概念统一建模语言参考手册 统一建模语言参考手册 统一建模语言参考手册 统一建模语言参考手册� 基本概念 基本概念 基本概念 基本概念� � 翻译 Adams Wang ���� �������� ��������� ��������� ���������� ������� � James Rumbaugh Ivar Jacobson Grady Booch � 译者序 译者序 译者序 译者序 译者序� 统一建模语言 ��� 是一种直观化 明确化 构建和文档化软件系统产物的通用可视 化建模语言 ��� 由面向对象领域的三位大师 ������ ����� ���� �������� 和 ����� �������� 于 ���� 年发布 并提交给 ��� ��� 于 �� 月为 ��� 所采用 现已成为业界 标准 � 本文讲述了 ��� 基本概念 为 ��� 的深入理解提供一个起点 ������������ � � ��� 简述 简述 简述 简述� 统一建模语言 ��� 是一种直观化 明确化 构建和文档化软件系统产物的通用可视 化建模语言 它捕捉了被构建系统的有关决策和理解 用来理解 设计 浏览 配置 维 护以及控制系统的信息 ��� 可以与所有的开发方法 生命阶段 应用领域和媒介一同使 用 它意图统一过去建模技术的经验 将当前软件最佳实践合并至标准的方法 ��� 包括 语义概念0 码力 | 123 页 | 2.61 MB | 1 年前3
Erda 基于云原生的微服务可观测性 - 刘浩杨基于云原生的微服务可观测性 刘浩杨 端点科技 Erda 微服务和监控平台负责人 目 录 微服务系统监控的挑战 01 可观测性技术理论 02 Erda 服务观测平台技术内核分析 03 Erda 服务观测平台功能概览 04 Erda:新一代企业级云原生 PaaS 平台 当前微服务系统面临的挑战 目 录 微服务系统监控的挑战 01 可观测性技术理论 02 Erda 服务观测平台技术内核分析 服务观测平台技术内核分析 03 Erda 服务观测平台功能概览 04 可观测性三大支柱 (一)Tracing 模型 (二)Metrics 时序模型 Writes are vertical,reads are horizontal (三)数据关联 目 录 微服务系统监控的挑战 01 可观测性技术理论 02 Erda 服务观测平台技术内核分析 03 Erda 服务观测平台功能概览 04 Erda MSP MSP 微服务观测平台 Erda 微服务观测平台优势 指标覆盖完整 通过多种探针,覆盖基础 设施、业务系统、用户终 端全面的数据指标 高实时性 通过流计算平台,数据 处理和告警延迟都在秒 级别 海量数据 存储处理 高性能的大数据处理架 构,轻松应对海量可观 测性数据处理 平台架构 可观测性数据采集 可观测性数据处理 数据存储选择 ES 数据索引管理 自动路由 指标到索引0 码力 | 25 页 | 6.96 MB | 1 年前3
Await-Tree Async Rust 可观测性的灵丹妙药 - 赵梓淇Await-Tree Async Rust 可观测性的灵丹妙药 赵梓淇 Bugen Zhao Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 • 组合嵌套为调度单元: Task • async fn 语法糖 Async Rust 观测与调试的痛点 Async Rust 回顾 • 特性: Future 灵活的可组合性 • 任意定制 Poll 的执行逻辑 (Join / Select / Timeout) • 动态的调用关系 • 痛点:观测与调试工具无法理解灵活的执行逻辑 • Backtrace 不够直观 ( 调用栈 -> 调用树 Async Rust 观测与调试的痛点 Async Rust 回顾 • 特性:用户态调度的无栈协程 • Pending Task 不存在栈空间 • 痛点:观测与调试工具无法还原 Pending Task 的执行状态 • 难以得知 Task 阻塞的位置和原因 • 难以调试 Async Stuck • ? 如何解决? Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree0 码力 | 37 页 | 8.60 MB | 1 年前3
2022年美团技术年货 合辑以看到,YOLOv6 在不同分辨率下,仍然保持较大的性能优势。 2. YOLOv6 关键技术介绍 YOLOv6 主要在 BackBone、Neck、Head 以及训练策略等方面进行了诸多的 改进: ● 我们统一设计了更高效的 Backbone 和 Neck :受到硬件感知神经网络设计 思想的启发,基于 RepVGG style[4] 设计了可重参数化、更高效的骨干网络 EfficientRep Backbone 万个订单行为,涉及 20 万个用户,2.9 万个商家,17.9 万个菜品,订单关联菜品数据共 438 万条,构成 知识图谱。使用 Hitrate@5 作为评价指标。 数据预处理阶段:进行特征分类、异常值处理、统一编码等操作。主要涉及用户(用 户画像特征等)、商家(品类、评分、品牌等)、菜品(口味、价格、食材等)三种实体 数据及点击、购买(LBS、价格、时间等)两类交互数据,对原始数据进行特征分类、 数据编码、缺失值处理等常见预处理操作。 68 > 2022年美团技术年货 (3)与业务系统无缝对接。 图神经网络的完整落地流程至少包括:基于业务数据构图、离线训练和评测模型、线 上推理、业务指标观测等步骤。要让图神经网络技术成功落地应用,需要充分理解业 务逻辑和业务需求,统一并高效地管理业务场景。同样以美食推荐场景为例,线上日 志记录了曝光、点击、下单等行为事件,知识图谱提供了商家和菜品丰富的属性数 据,如何从这些异质的数据构0 码力 | 1356 页 | 45.90 MB | 1 年前3
Golang大规模云原生应用管理实践eventer … 策略 机制 Jaeger 实例 调度策略 链路 K8s及云原生生态给 开发者提供的是机制 开发者直接使用K8s的失败故事 • 认知成本高:K8s功能强大却没有统一的使用方式,不得不学习复杂的声明字段和各种奇怪的Annotation; • 稳定性不足:没有设置Pod的QoS等级,导致频繁被驱逐,没有设置反亲和性策略,导致节点流量不均; • 扩展效率低:需要 运维成本高:Apiserver, etcd, Controller-Manager, Kubelet,等组件都具有一定复杂度,无法做到定期升 级以维持安全,高可用,高性能的状态; • … 能力复用 自动化 可观测 稳定 安全 开发者真正想要的是策略:大象无形的基础设施,坚如磐石的中间件,丰富高效的应用PaaS平台 基础设施 云原生PaaS平台提供应用管理策略 基础设施 K8s 云原生生态(CNCF) ApplicationConfiguration name: oamhsf uid: 73eec338-c3c1-4936-bc5b-3c47f2eb63bc 使用ownerRef做事件触发 新的复杂度-可观测 应用为什么没有到终态? • 关联资源太多 • 关联控制器太多 • 异步响应式 status: � workloads: - componentName: oamhsf-group-10 码力 | 23 页 | 7.70 MB | 1 年前3
2020美团技术年货 算法篇团很早就开始探索不同的机器学习模型在搜索场景下的应用,从最开始的线性模型、 树模型,再到近两年的深度神经网络、BERT、DQN 等,并在实践中也取得了良好 的效果与产出。 本文将与大家探讨美团搜索与 NLP 部使用的统一在线预估框架 Augur 的设计思路、 效果、优势与不足,希望对大家有所帮助或者启发。 搜索优化问题,是个典型的 AI 应用问题,而 AI 应用问题首先是个系统问题。经历 近 10 年的技术积 ● 平台缺失:快速的业务迭代下,需要有一个平台可以帮助业务快速地进行模型 和特征的管理,包括但不限于配置、上线、灰度、验证等等。 3.2 新框架的边界 跟所有新系统的诞生故事一样,老系统一定会出现问题。原有架构在少特征以及小模 型下虽有优势,但业务耦合,无法横向扩展,也难以复用。针对需求和老框架的种种 问题,我们开始构建了新的高性能分布式模型预估框架 Augur,该框架指导思路是: Operator 和 Transformer 在搜索场景下,特征抽取较为难做的原因主要包括以下几点: ● 来源多:商户、商品、交易、用户等数十个维度的数据,还有交叉维度。由于 美团业务众多,难以通过统一的特征存储去构建,交易相关数据只能通过服务 来获取。 ● 业务逻辑多:大多数据在不同的业务层会有复用,但是它们对特征的处理逻辑 又有所不同。 ● 模型差异:同一个特征,在不同的模型下,会有不同的处理逻辑。比如,一个0 码力 | 317 页 | 16.57 MB | 1 年前3
美团点评2018技术年货行监控,其主要监控两个指标:运营位数及每个运营位的配置总数。这样做可以带来以下几个好处: 1. 对接入的业务数及机器数进行统计。 2. 通过SDK的配置总数监控,防止数量超过最大限制。 同时,对于非SDK的其他性能指标,我们采用统一的监控平台– CAT 进行监控,其中包括:APPKIT中 心服务的调用QPS,机器的性能,网络流量等通用指标。 五、底层模型–灵活性设计 五、底层模型–灵活性设计 5.1 从一个例子切入 5 开发的一套开源的分布式实时监控系统。 美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集 群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一 监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能 指标、健康状况、实时告警等服务。 本文会对 CAT 的客户端、性 400TB,高峰期集群 QPS 达 650万/秒。 面对流量的成倍增长,CAT 在通信、计算、存储方面都遇到了前所未有的挑战。整个系统架构也经历了 一系列的升级和改造,包括消息采样聚合、消息存储、业务多维度指标监控、统一告警等等,项目最终稳 定落地。为公司未来几年内业务流量的稳定增长,打下了坚定的基石。 经过 7 年的持续建设,CAT 也在不断发展,我们也希望更好的回馈社区,将 CAT 提供的服务惠及更多 的0 码力 | 229 页 | 61.61 MB | 1 年前3
Nacos架构&原理
PMC Chair - 王小瑞(誓嘉) 服务发现,配置中心这两个领域在淘宝 2007 年做分布式系统改造时开始建设,特殊之处在于它是整 个分布式系统的协调者和全局入口,也意味着它的可用性,可靠性,可观测性等分布式系统指标影 响整个分布式系统的运行。历史上,这个系统在阿里也触发过大故障,经历过数次血与火的考验。 在阿里数次架构升级中,Nacos 都做了大量的功能迭代,用来支持阿里的异地多活,容灾演练,容 平台,但整个业务系统依赖的配置中心、注册中心、网关、消息队列、认证鉴权、可观测等服 务治理组件并不能被 Kubernetes 生态完全替代。⼀方面,这些传统的中间件经历了时间和历史的 重重考验,沉淀出高性能、高可用和高扩展的经验是毋容置疑的;另⼀方面,Kubernetes 对于应用 依赖平台之上的能力的支持度是不够的,比如服务治理、网关、认证鉴权,可观测,等等。⼀时间, 围绕 Kubernetes 平台构建 在面对高并发的流量请求时,各个服务的熔断限流的阈值应该是不⼀样的。另外,微服务架构增加 了整个请求处理链的网络跳数,其中任意⼀个上游服务都可以拖垮下游服务,甚至导致系统整体不 可用。 在可观测方面,首先是 Tracing,单体架构中服务之间调用不存在网络调用,请求始终在当前节点 上处理完毕,任何时候出现故障时都会导致整个应用出故障,因此我们只需排查代码 Bug 即可; 而在微服务这种0 码力 | 326 页 | 12.83 MB | 10 月前3
TarsGo微服务开发实践-利开园腾讯内部(TAF)曾经应用最广的开发框架 • Tars应用实践:https://github.com/tarscloud/gopractice RPC:不应该只是RPC • 基本功能:远程函数调用 • 可观测 • 名字服务+SET流量管理 • 熔断与恢复 • 轮询/一致性Hash • 错误码管理 日志:排查问题的利器 • 格式化 =〉 JSON • 单机withFields • 基于context 基于OpenTracing+Jaeger • 第三库不支持如何解决? 错误码:给主调方更好的提示 • 错误码区分内部错误与请求 • 接口返回error实例 网关: 将问题在团队内部闭环 • 无业务逻辑 • 可观测 • 错误码 • 超时控制 • 增加RPC接口不用发布的解决方案 # curl -d '{"msg":"abc"}' 172.25.0.3:8082/apis/v1/sayHello {"Requ0 码力 | 15 页 | 4.23 MB | 1 年前3
共 299 条
- 1
- 2
- 3
- 4
- 5
- 6
- 30













