积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(9)Go(9)

语言

全部中文(简体)(9)

格式

全部PDF文档 PDF(9)
 
本次搜索耗时 0.051 秒,为您找到相关结果约 9 个.
  • 全部
  • 后端开发
  • Go
  • 全部
  • 中文(简体)
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Go在工程实践的错误处理

    能够确定对端的唯一来源,例如对端的应用名称、对端的 配置、对端的IP。 对端请求的方法。 请求的参数信息,包括 header 里的 metadata 响应的数据,包括 header 里的 metadata 错误码和错误信息 请求到响应的耗时时间 调用处执行的行号 总结起来,调试阶段需要对接的信息 为什么调试慢?-- 错误信息 高亮信息 封装组件 充足信息 • 在调试阶段,日志用红色高亮错误 为什么调试慢?-- 错误信息 高亮信息 封装组件 充足信息 • 没有调试信息和错误信息 • 对接起来会非常麻烦 优雅处理错误信息 第三部分 为什么定位慢?-- 错误处理 不要透传错误 错误码唯一性 记录一次错误 假设用户反馈了无法打开一个文件 我们的程序员非常认真 记录了文件不存在的错误日志 • 同样的错误信息,非常多的杂音 • 每个Error,都去查看一次对应代码,排查效率低 不要透传错误 错误码唯一性 记录一次错误 日志分析不出是哪个service 调用了MySQL 为什么定位慢?-- 错误处理 带来新的问题,无法定位整个代码执行链路 不要透传错误 错误码唯一性 记录一次错误 • 不能透传错误,fmt.Errorf • 如果不考虑性能 • 日志开启Stack • 错误追加Stack 为什么定位慢?-- 错误处理 不要透传错误 错误码唯一性 记录一次错误
    0 码力 | 30 页 | 3.11 MB | 1 年前
    3
  • pdf文档 TarsGo微服务开发实践-利开园

    2021-08-21 关于我 Docker TarsGo Tars+K8S DevOps 2015至今 腾讯 目录 1. RPC 2. 日志 3. 监控 4. 调用链 5. 网关 6. 错误码 7. 配置 8. 云原生 9. 标准化 背景 • Tars是腾讯开源的微服务解决方案 • 高性能的RPC框架 • 丰富的服务治理能力 • 支持Golang/Cpp/Java/PHP/Nodejs com/tarscloud/gopractice RPC:不应该只是RPC • 基本功能:远程函数调用 • 可观测 • 名字服务+SET流量管理 • 熔断与恢复 • 轮询/一致性Hash • 错误码管理 日志:排查问题的利器 • 格式化 =〉 JSON • 单机withFields • 基于context • 跨服务withFields • 基于透传元数据 • 按大小/时间滚动 • Tracing:在复杂系统中定位问题 • 依赖框架Context透传 • 基于OpenTracing+Jaeger • 第三库不支持如何解决? 错误码:给主调方更好的提示 • 错误码区分内部错误与请求 • 接口返回error实例 网关: 将问题在团队内部闭环 • 无业务逻辑 • 可观测 • 错误码 • 超时控制 • 增加RPC接口不用发布的解决方案 # curl -d '{"msg":"abc"}' 172.25
    0 码力 | 15 页 | 4.23 MB | 1 年前
    3
  • pdf文档 Go基础语法宝典

    ,返回给客户端500错误码,并显示相应的错误数据。但是当越来越多的 HandleFunc 加入 之后,这样的错误处理逻辑代码就会越来越多,其实可以通过自定义路由器来缩减代码 上面定义了自定义的路由器,然后可以通过如下方式来注册函数: 当请求 /view 的时候逻辑处理可以变成如下代码,和第一种实现方式相比较已经简单了很多。 上面的例子错误处理的时候所有的错误返回给用户的都是500错误码,然后打印出来相应的错误代码, string Code int } 这样自定义路由器可以改成如下方式: 这样修改完自定义错误之后,逻辑处理可以改成如下方式: 如上所示,在访问view的时候可以根据不同的情况获取不同的错误码和错误信息,虽然这个和第一个版 本的代码量差不多,但是这个显示的错误更加明显,提示的错误信息更加友好,扩展性也比第一个更 好。 总结 在程序设计中,容错是相当重要的一部分工作,在Go中它
    0 码力 | 47 页 | 1020.34 KB | 1 年前
    3
  • pdf文档 云原生时代分布式链路追踪实践-曲赛

    分布式追踪 天机阁2.0 实践 15 分布式追踪 Log详情 点击Log详情中traceID字段的按 钮拉起Trace详情。 天机阁2.0 实践 16 分布式追踪 监控面板 监控到错误码111,点击面板跳转 到相关时间段的分布式追踪 感谢倾听
    0 码力 | 17 页 | 2.47 MB | 1 年前
    3
  • pdf文档 基于Go的大数据平台-党合萱

    r 这⼀一步使⽤用了了parquet压缩,可以有8⽐比1的压缩⽐比。效果很好, 但缺点也同样明显。 简单 · 可信赖 压⼒力力感知与退避算法 如何感知上下游压⼒力力 • 响应时间 • 特定错误码 • 超时错误 快速启动还是慢启动 • 速度的控制 退避策略略 • 起始阶段慢增⻓长 • 指数增⻓长 简单 · 可信赖 ⾼高可⽤用与⽔水平扩展 简单 · 可信赖 master/server架构
    0 码力 | 34 页 | 1.26 MB | 1 年前
    3
  • pdf文档 go web 框架 严清

    Error() string // Status returns error's http status code. Status() int } 根据 HTTP 定义,只要有错误码和错误消息就能处理理了了 只需要在 error interface 之上增加⼀一个 status interface 集中、智能、灵活的异常处理理 不不过,Gear 的 Error 还可以更更强⼤大
    0 码力 | 23 页 | 333.12 KB | 1 年前
    3
  • pdf文档 Go Web编程

    Error(w, err.Error(), 500) } } 上面的例子中获取数据和模板展示调用时都有检测错误,当有错误发生时,调用了统一的处理函数http.Error,返 回给客户端500错误码,并显示相应的错误数据。但是当越来越多的HandleFunc加入之后,这样的错误处理逻辑代码 就会越来越多,其实我们可以通过自定义路由器来缩减代码(实现的思路可以参考第三章的HTTP详解)。 type return err } return viewTemplate.Execute(w, record) } 上面的例子错误处理的时候所有的错误返回给用户的都是500错误码,然后打印出来相应的错误代码,其实我们可以 把这个错误信息定义的更加友好,调试的时候也方便定位问题,我们可以自定义返回的错误类型: type appError struct { Error &appError{err, "Can't display record", 500} } return nil 229 } 如上所示,在我们访问view的时候可以根据不同的情况获取不同的错误码和错误信息,虽然这个和第一个版本的代码 量差不多,但是这个显示的错误更加明显,提示的错误信息更加友好,扩展性也比第一个更好。 总结 总结 在程序设计中,容错是相当重要的一部分工作,在Go中它
    0 码力 | 295 页 | 5.91 MB | 1 年前
    3
  • pdf文档 Go 入门指南(The way to Go)

    本文档使用 看云 构建 库函数通常必须返回某种错误提示给主调(calling)函数。 在前面的章节中我们了解了 Go 检查和报告错误条件的惯有方式: 产生错误的函数会返回两个变量,一个值和一个错误码;如果后者是 nil 就是成功,非 nil 就是发生了 错误。 为了防止发生错误时正在执行的函数(如果有必要的话甚至会是整个程序)被中止,在调用函数后必 须检查错误。 下面这段来自 pack1 正如你所看到的一样,所有的例子都遵循同一种命名规范:错误类型以 “Error” 结尾,错误变量以 “err” 或 “Err” 开头。 syscall 是低阶外部包,用来提供系统基本调用的原始接口。它们返回整数的错误码;类型 syscall.Errno 实现了 Error 接口。 大部分 syscall 函数都返回一个结果和可能的错误,比如: r, err := syscall.Open(name, mode
    0 码力 | 380 页 | 2.97 MB | 1 年前
    3
  • pdf文档 Go 入门指南(The way to Go)

    是用来处理真正的异常(无法预测的错误)而不是普通的错误。 库函数通常必须返回某种错误提示给主调(calling)函数。 在前面的章节中我们了解了 Go 检查和报告错误条件的惯有方式: 产生错误的函数会返回两个变量,一个值和一个错误码;如果后者是 nil 就是成功,非 nil 就是发生了错 误。 为了防止发生错误时正在执行的函数(如果有必要的话甚至会是整个程序)被中止,在调用函数后必须检查错 误。 下面这段来自 pack1 正如你所看到的一样,所有的例子都遵循同一种命名规范:错误类型以 “Error” 结尾,错误变量以 “err” 或 “Err” 开头。 syscall 是低阶外部包,用来提供系统基本调用的原始接口。它们返回整数的错误码;类型 syscall.Errno 实现 了 Error 接口。 大部分 syscall 函数都返回一个结果和可能的错误,比如: 1. r, err := syscall.Open(name,
    0 码力 | 466 页 | 4.44 MB | 1 年前
    3
共 9 条
  • 1
前往
页
相关搜索词
Go工程实践错误处理错误处理TarsGo服务开发开园基础语法宝典原生时代分布布式分布式链路追踪曲赛基于数据平台党合goweb框架严清Web编程入门指南Thewayto
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩