Go在工程实践的错误处理Golang在工程实践中的错误处理 彭友顺 石墨文档 产研负责人 目 录 为什么我们处理错误会这么慢 01 如何完善错误信息 02 优雅处理错误信息 03 分布式错误处理 04 错误信息手册的必要性 05 为什么我们处理错误 会这么慢 第一部分 错误信息不够完善 why 原因 出现 错误 定位 慢 恢复 慢 效率低 为什么我们处理错误会这么慢 错误处理不够优雅0 码力 | 30 页 | 3.11 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔降级预案在同程艺⻰龙的⼯工程实践 演讲者 / 王俊翔 同程艺龙 ⾃自我介绍 搜索故障 微信⼩小程序 API⽹网关 资源1 搜索引擎 统⼀一资源⽹网关 资源2 资源3 资源4 …… 资源4 ⼤大量量超时 统⼀一资源⽹网关 搜索引擎 API⽹网关 ⼤大量量请求超时 缺乏熔断设计 交易易故障 第三⽅方⽀支付 ⽀支付中⼼心 ⽀支付回写 消息队列列 ⽀支付通知 交易易中台 ,并做好降级预防措施 • 参数修正,及时调整流控、降级策略略,优化告警、超时参数设置 • 模拟线上故障,进⾏行行故障复现,验证故障后续的处理理措施是否⾏行行之有效 • 以战养兵,历练团队,让⼯工程师有更更多机会积累经验,提升应对故障的能⼒力力 常态化的故障演练对系统进⾏行行反复验证 系统设计 Agent Core Custom Code Model Burn CPU Servlet 治 理理保障系统的可⽤用性 • 通过反复的故障演练,发现系统中的薄弱点,并进⾏行行有效的预防 • 配合降级预案,让系统的可靠性更更易易验证,让演练更更加常态化 • 历练团队、积累经验,促进⼯工程师的进步,提⾼高应对故障的能⼒力力 ⾃自我介绍0 码力 | 26 页 | 18.67 MB | 1 年前3
PyConChina2022-杭州-Pants:Python工程化必备构建工具-沈达Pants: Python工程化 必备构建工具 主讲人: 沈达 – 比图科技数据工程师 Pants 2 https://www.pantsbuild.org 面向任意规模代码仓库的高性能、可扩展、用户友好的构建系统。 由 主要实现 用 定义构建 对 支持最好 Pants 1 诞生于推特 Pants 2 涅槃重生 由Toolchain赞助 人生苦短,我用Python 用户 JupyterLab 个人:JupyterLab最佳实践 用户 JupyterLab 痛点:如何快速启动 痛点:如何分享、协作 痛点:如何管理依赖 模版工程 https://github.com/da-tubi/jupyterlab-best-practice 企业项目:多个子项目的Python代码仓库 模版工程 https://github.com/da-tubi/pants-pyspark-subprojects • 可扩展 智能依赖 • 新建子项目简单 • 开发环境和生产环境一致 • 本地缓存(SaaS支持:远程缓存) • 只要没有import,就会智能排除 业余项目:如何分发用Python实现的插件 示例工程 https://github.com/texmacs/plugins-in-python JAR • Executable • Assembly PEX • Executable • Assembly0 码力 | 9 页 | 975.41 KB | 1 年前3
04. GraphQL in Chaos Mesh 2.0 - 李晨曦GraphQL in Chaos Mesh 如何高效地控制集群中的 资源状态 李晨曦 GitHub: hexilee PingCAP R&D PingCAP 研发工程师,CNCF 开源项目 Chaos Mesh® 核心贡献者, 主要负责工程效率提升和 HTTP 故障注入功能的设计实现。并推动 GraphQL 在 Chaos Mesh 项目中的实践落地。 目录 1. Chaos Mesh 介绍 Kubernetes 上的云原生混沌工程平台 ● 最初目标是作为 TiDB 的内部测试平台 ● 提供对 Pod 或者具体容器的错误注入, 包括网络、系统 IO、内核以及一些应用层注入 chaos-mesh.org github.com/chaos-mesh Chaos Mesh 是什么 我们的目标 ● 建立一个完全闭环的云原生混沌工程平台 ● 让混沌工程变得更易用 问题与解决方案 Target Pods Status Logs Event Others Mounts Processes ipset iptables Pid Command Fds 集群中的状态 在实际混沌实验过程中,可能会出现注入的错误不符合预期,甚至完全没有效果的情况。能否高效 地获取各种状态则决定了故障诊断的效率。 集群状态大致可以分为两类,主要分类依据是能否通过 kubernetes API0 码力 | 30 页 | 1.29 MB | 1 年前3
微服务环境下的系统治理与容错同步调用下-无线程池隔离 同步调用下-线程池隔离实现方法 快速失败-超时 快速失败-时间窗口 快速失败-超时重试次数 区分部署和上线 常规系统保障流程 没有不出问题的系统 什么是混沌工程 混沌工程 故障注入 故障测试的区别 总结 工具 知识 经验 参考书籍0 码力 | 45 页 | 16.09 MB | 1 年前3
2022年美团技术年货 合辑的异步化 879 工程效能 CI/CD 之流水线引擎的建设实践 912 美团外卖搜索基于 Elasticsearch 的优化实践 933 美团图灵机器学习平台性能起飞的秘密(一) 953 提升资源利用率与保障服务质量,鱼与熊掌不可兼得? 971 标准化思想及组装式架构在后端 BFF 中的实践 992 外卖广告大规模深度学习模型工程实践 | 美团外卖广告工程实践专题连载 1013 Linux 下跨语言调用 C++ 实践 1101 GPU 在外卖场景精排模型预估中的应用实践 1130 美团集群调度系统的云原生实践 1149 广告平台化的探索与实践 | 美团外卖广告工程实践专题连载 1161 数据 1193 Kafka 在美团数据平台的实践 1193 美团综合业务推荐系统的质量模型及实践 1218 业务数据治理体系化思考与实践 1233 数据治理一体化实践之体系化建模 T4 上推理速度可达 520 FPS。在部署方面, YOLOv6 支 持 GPU(TensorRT)、CPU(OPENVINO)、ARM(MNN、TNN、 NCNN)等不同平台的部署,极大地简化工程部署时的适配工作。 目前,项目已开源至 Github,传送门:YOLOv6。欢迎有需要的小伙伴们 Star 收 藏,随时取用。 精度与速度远超 YOLOv5 和 YOLOX 的新框架 目标检0 码力 | 1356 页 | 45.90 MB | 1 年前3
Cmake 实践cmake 构建。 这也是促使我们学习 cmake 的原因,首先 cmake 被接受并成功应用,其次,cmake 的优势在实际使用中不断的体现出来。 我们为什么不来认识一下这款优秀的工程构建工具呢? 在 2006 年 KDE 大会,听 cmake 开发者当面介绍了 cmake 之后,我就开始关注 cmake,并将 cmake 纳入了 Everest 发行版,作为系统默认组件。最近 一样,KDE 将代码仓库从 CVS 迁移到 SVN,同时证明了 SVN 管理大型项目的可用性),在 KDE 开发者使用了近 10 年 autotools 之后,他们终于决定为 KDE4 选择一个新的工程构建工具,其根本原因用 KDE 开发者的话来 “ ” 说就是:只有少数几个 编译专家 能够掌握 KDE 现在的构建体系 (admin/Makefile.common),在经历了 unsermake html 2,跨平台,并可生成 native 编译配置文件,在 Linux/Unix 平台,生成 makefile,在 苹果平台,可以生成 xcode,在 Windows 平台,可以生成 MSVC 的工程文件。 3,能够管理大型项目,KDE4 就是最好的证明。 4,简化编译构建过程和编译过程。Cmake 的工具链非常简单:cmake+make。 5,高效虑,按照 KDE 官方说法,CMake 构建0 码力 | 47 页 | 264.27 KB | 1 年前3
Object Pascal 参考手册(Ver 0.1) Borland 公司的开发工具,如 Delphi 和 Kylix。 绝大多数使用 Borland 开发工具的开发者是在 IDE(集成开发环境)环境下编写代码并进行编译。 Borland 开发工具帮助我们设置工程和源文件的许多细节,比如维护单元的依赖信息。并且,使用这些工 具在程序的组织上还有一些限制,严格说来,这不是 Object Pascal 语言规范的一部分。比如,Borland 开发工具遵循某些文件和程序的命名约定,若你在 语言)。每当一个 工程调入 IDE 时,Project Manager 创建一个 makefile,但只有在包含多个工程的工程组中才保存这些文 件。 关于程序结构和依赖关系的更多内容,请参考程序和单元。 Pascal source files(Pascal 源文件) 编译器期望在以下三种文件中取得 Pascal 源代码: • 单元源文件 (文件扩展名为 .pas) • 工程文件 (文件扩展名为 包含一个工程文件和多个单元文件。工程文件相当 Overview - 2 - 于传统 Pascal 语言的‘主’程序文件,它把各单元文件组织成一个程序。Borland 开发工具自动为每一 个应用程序维护一个工程文件。 如果从命令行编译一个程序,你可以把所有源代码放在单元文件(.pas)中,但如果用 IDE 创建程 序,则必须有一个工程文件(.dpr)。 包源文件类似于工程文件,但它0 码力 | 168 页 | 868.25 KB | 1 年前3
2020美团技术年货 算法篇那么,什么是模型预估呢?如果忽略掉各种算法的细节,我们可以认为模型是一个函 数,有一批输入和输出,我们提供将要预估文档的相关信息输入模型,并根据输出的 值(即模型预估的值)对原有的文档进行排序或者其他处理。 纯粹从一个工程人员视角来看: 模型可以简化为一个公式( 举例:f(x1,x2)= ax1 + bx2 +c ),训练模型是找出最合适的参数 abc。所谓特征,是其中的自变量 x1 与 x2,而模型预估,就是将给定的自变量 所以在实际业务场景中,一个模型预估的过程可以分为两个简单的步骤:第一步,特 征抽取(找出 x1 与 x2);第二步,模型预估(执行公式 f,获得最终的结果)。 4 > 美团 2020 技术年货 模型预估很简单,从业务工程的视角来看,无论多复杂,它只是一个计算分数的过 程。对于整个运算的优化,无论是矩阵运算,还是底层的 GPU 卡的加速,业界和美 团内部都有比较好的实践。美团也提供了高性能的 TF-Serving 的编码,得到信号的表示。 美团搜索排序 Transformer 实践经验 Transformer 在美团搜索排序上的实践主要分以下三个部分:第一部分是特征工程, 第二部分是行为序列建模,第三部分是重排序。下面会逐一进行详细介绍。 特征工程 在搜索排序系统中,特征工程的输入特征维度高但稀疏性很强,而准确的交叉特征对 模型的效果又至关重要。所以寻找一种高效的特征提取方式就变得十分重要,我们借 鉴 AutoInt[3]0 码力 | 317 页 | 16.57 MB | 1 年前3
美团点评2018技术年货由衷地感谢大家一直以来对我们的鼓励和陪伴! 在2019年春节到来之际,我们再次精选了114篇技术干货,制作成一本厚达1200多页的电子书呈送给大 家。 这本电子书主要包括前端、后台、系统、算法、测试、运维、工程师成长等7个板块。疑义相与析,大家 在阅读中如果发现Bug、问题,欢迎扫描文末二维码,通过微信公众号与我们交流。 也欢迎大家转给有相同兴趣的同事、朋友,一起切磋,共同成长。 最后祝大家,新春快乐,阖家幸福。 沉 淀,很多系统服务都经历过大规模线上业务实际运营的检验。我们在使用业界较多开源产品的同时,也希 望能把积累的技术开源出去,一方面是回馈社区,贡献给整个行业生态;另一方面,让更多感兴趣的开发 工程师也能参与进来,共同加速系统软件的升级与创新。所以,像 CAT 这样的优秀项目,我们将陆续开 源输出并长期持续运营,保证开源软件本身的成熟度、支撑度与社区的活跃度,也欢迎大家给我们提出更 多的宝贵意见和建议。 王粲,2018年11月加入美团,任职美团高级工程师,负责美团DSP系统后端基础架构的研发工作。 崔涛,2015年6月加入美团,任职资深广告技术专家,期间一手指导并从0到1搭建美团DSP投放平台,具备丰富的大 规模计算引擎的开发和性能优化经验。 LruCache在美团DSP系统中的应用演进 - 美团技术团队 霜霜,2015年6月加入美团,任职美团高级工程师,美团DSP系统后端基础架构与机器学习架构负责人,全面负责0 码力 | 229 页 | 61.61 MB | 1 年前3
共 256 条
- 1
- 2
- 3
- 4
- 5
- 6
- 26













