Go在工程实践的错误处理Golang在工程实践中的错误处理 彭友顺 石墨文档 产研负责人 目 录 为什么我们处理错误会这么慢 01 如何完善错误信息 02 优雅处理错误信息 03 分布式错误处理 04 错误信息手册的必要性 05 为什么我们处理错误 会这么慢 第一部分 错误信息不够完善 why 原因 出现 错误 定位 慢 恢复 慢 效率低 为什么我们处理错误会这么慢 错误处理不够优雅0 码力 | 30 页 | 3.11 MB | 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
Go可观测性实践Go工程可观测性实践 周曙光 得物 Go开发 目 录 可观测性概述 01 链路追踪 02 指标 03 可观测性概述 第一部分 广义的可观测性:可以根据系统的外部输出信息推断出系统内部状态的好 坏。 软件系统的可观测性:一种度量能力,能帮你更好的理解系统当前所处的 任何状态。如果无需发布新代码就可以理解任何新的或怪异的状态,那么 系统就具备可观测性。 什么是可观测性? 可观测性开源产品 API • SDK • Exporter • Collector OTel Collector • Receiver • Processor • Exporter 微服务业务架构图 项目工程layout 遥测数据处理架构 链路追踪 第二部分 无所不在的部署 持续监控 低消耗 应用级透明 延展性 链路追踪设计目标 链路追踪 Dapper 每个请求都生成一个全局唯一的 ParentID:区别请求链路中的嵌套包含关系,根Span没有ParentID。 • 时间戳:每个Span必须展示开始时间。 • 执行时长:每个Span都必须记录工作开始到结束时花费的时长。 Go工程插桩(Instrument) 需要对业务开发者几乎零成本的接入链路追踪,几乎完全依赖于少量通用组件库的改造。 当一个请求在处理跟踪控制路径的过程中,需要把跟踪的上下文存储在ThreadLocal中,在Go中0 码力 | 35 页 | 2.88 MB | 1 年前3
2.游戏战中陪伴助手微服务架构设计与应用游戏战中陪伴助手微服务架构设计与应用 张敏 - AndruZhang 腾讯 - 高级后台工程师 目 录 功能介绍 01 早期探索 02 方案设计和工程实现 03 性能和成本优化 04 DevOps 建设 05 总结 & QA 06 功能介绍 第一部分 战中陪伴助手介绍——和平精英最佳第五人 战中陪伴助手介绍——和平精英最佳第五人 • 游戏战斗中指导 / 建议 • 敌人在附近 - 启发: - 抽象:子状态(特征维度) - 子状态组合成状态,同时子状态也可以组合成策略 - 策略选取:特征匹配 - 解决维度爆炸:只取部分子状态 - 统一“状态”的标准 方案设计和工程实现 第三部分 方案设计——Token、策略 更加具有通用性的方案 - 启发: - 抽象:子状态(特征维度) - 子状态组合成状态,同时子状态也可以组合成策略 - 策略选取:特征匹配0 码力 | 47 页 | 11.10 MB | 1 年前3
Go持续集成聚焦 极致 可信赖 持续集成的未来 • 速度 -> 实时 • 智能程序逻辑分析 • GUI的集成测试服务更廉价,更普及 简单 激情 速度快 聚焦 极致 可信赖 珠海,北京,招聘算法工程师,广告系统开发工程师 请发简历到: cuiyingjie@zplay.com 简单 激情 速度快 聚焦 极致 可信赖 谢谢 Q & A 微信0 码力 | 39 页 | 10.74 MB | 1 年前3
Go vs. GoPlus(Go+)10 年后才会有语言试图去突破Go语言已经达到的新高度 -不会是现有的任何语言,而会是一门新兴语言 Go,超越我的想象 • Go 语言的各种语法特性显得那么深思熟虑、卓绝不凡,其对软 件架构与工程的理解,让我深觉无法望其项背 • 处处带给我惊喜的语言 惊喜1:大道至简 • 基础哲学:继承自 C -大道至简 • 显式表达 -任何封装都是有漏洞的 -最佳的表达方式就是最直白的表达方式 函数?没有,除了 Go • 对 C 语言的完美支持,是 Go 快速崛起的关键支撑 Go 语言小结 • 少就是指数级的多 -最精简 -学习门槛低 -心智负担低 • 关注焦点 -服务端开发 -大型软件工程 Go 语言的发展瓶颈 • 服务端开发不是一个大市场 -成也云计算,败也云计算 • Go 语言需要开辟新战场 -桌面开发(程序员最多的市场) • PC桌面开发 • Mobile开发 • Web开发(含小程序及轻应用)0 码力 | 54 页 | 1.82 MB | 1 年前3
Go 入门指南(The way to Go)对于学习 Go 编程语言的爱好者来说,这本书无疑是最适合你的一本书籍,这里包含了当前最全面的学习 资源。本书通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自 身在软件工程、编程语言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类 来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫 折 2009 年正式对外发布。它从 2009 年 9 月 21 日开始作为谷歌公司 20% 兼 职项目,即相关员工利用 20% 的空余时间来参与 Go 语言的研发工作。该项目的三位领导者均是著名的 IT 工程师:Robert Griesemer,参与开发 Java HotSpot 虚拟机;Rob Pike,Go 语言项目总负责人,贝 尔实验室 Unix 团队成员,参与的项目包括 Plan 9,Inferno 甚至可以与 Java 的简化程度相比较。 Go 语言有一种极简抽象艺术家的感觉,因为它只提供了一到两种方法来解决某个问题,这使得开发者们 的代码都非常容易阅读和理解。众所周知,代码的可读性是软件工程里最重要的一部分( 译者注:代码是 写给人看的,不是写给机器看的)。 这些设计理念没有建立其它概念之上,所以并不会因为牵扯到一些概念而将某个概念复杂化,他们之间是 相互独立的。 Go 语言有一套完整的编码规范,你可以在0 码力 | 380 页 | 2.97 MB | 1 年前3
4.GPT 与数据库的生态整合GPT 与数据库的生态整合 王琦智 PingCAP TiDB 开发者生态高级工程师 目 录 自然语言到 SQL 01 自然语言到图表 02 GPTs 调用数据库 API 03 总结 04 自然语言到SQL OSS Insight 自然语言到图表 Thoughts to insights made easy(with AI) GPTs 调用数据库 API Thank You0 码力 | 21 页 | 3.33 MB | 1 年前3
TarsGo微服务开发实践-利开园TarsGo微服务高效开发 最佳实践 利开园 腾讯高级工程师 2021-08-21 关于我 Docker TarsGo Tars+K8S DevOps 2015至今 腾讯 目录 1. RPC 2. 日志 3. 监控 4. 调用链 5. 网关 6. 错误码 7. 配置 8. 云原生 9. 标准化 背景 • Tars是腾讯开源的微服务解决方案 • 高性能的RPC框架 • 丰富的服务治理能力0 码力 | 15 页 | 4.23 MB | 1 年前3
基于open-falcon的平安云监控为什么选用Go Ø argus的前身 Ø argus的现状 Ø argus的未来 为什么选用Go Ø 自带goroutine,容易实现高并发程序 Ø 标准库功能键全 Ø 方便引用第三次库 Ø 为工程化设计的语言 Ø Interface的设计 Ø 自带profile工具 Ø 自带单元测试框架 目录 Ø 团队介绍 Ø 背景 Ø 系统定位 Ø argus是什么 Ø 为什么选用Go0 码力 | 30 页 | 10.40 MB | 1 年前3
共 30 条
- 1
- 2
- 3













