创新互联GoFrame教程:GoFrame框架设计-全链路跟踪设计

可观测性是很重要的,目前已经有比较不错的​OpenTelemetry​标准,各个第三方组件以及厂商都按照这套标准库来暴露和对接观测数据将会更加简便。我们本次聊到的,是链路跟踪,它是可观测性中很重要的一项指标。

创新互联是专业的铜川网站建设公司,铜川接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行铜川网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

GOFrame​框架具有很高的前瞻性,在​OpenTelemetry​标准草稿阶段便开始持续关注,并在发布​OTEL​标准发布了​alpha​版本时,框架便开始支持。目前​OTEL​的Golang实现已经稳定。​GoFrame​是目前众多"框架"中对​OTEL​标准及实现支持得最好的框架。并且可观测性也是框架未来发展的重点特性。

一、项目实践的痛点

在项目实践中,实现链路跟踪往往会遇到以下常见的痛点。

1、组件没有严格执行标准

虽然已经有​OTEL​标准,但是第三方组件没有严格执行。例如,在日志和​ORM​组件中,没有严格约束传递​ctx​上下文变量。

2、第三方组件杂乱无章

业务项目拼凑使用的第三方组件众多,有的组件没有实现链路跟踪支持,更别提​OTEL​标准。例如,命令管理、配置管理、缓存管理、数据校验、定时任务等等常用组件,表象就是没有提供​ctx​上下文变量传递。当使用到的组件不支持链路传递时,链路信息便丢失。

3、业务逻辑易丢失链路

业务项目中,链路跟踪没有检测手段,也就是写着写着,链路跟踪不小心就弄丢了。当战略设计在战术实施时遭遇到了猪队友,遇到问题需要定位时就GG。特别是在​toB​业务中,遇到工单限时会很抓狂。

二、框架全链路跟踪

1、统一框架

由于​GoFrame​是一款工程完备的基础框架,提供了项目所需的通用核心基础组件,因此在组件这块可以非常方便地实现标准。

2、标准落地

在框架的核心组件中均增加了对​ctx​上下文变量的支持,并严格执行​OTEL​标准,保障标准的顺利落地。

3、日志支持

GoFrame​框架的日志组件也支持并且严格执行​OTEL​标准,因此只要使用框架的日志组件,那么也会自动打印链路相关信息。

4、规范检测

此外,框架通过开发工具提供工程规范检测功能,可以自动检测出业务项目中的链路丢失问题,进一步推进​OTEL​标准落地,保障项目质量。

5、链路传递

链路的传递也需要统一组件。目前比较常见的协议是​HTTP/GRPC​协议,因此框架也提供了​HTTP Client/Server​以及​GRPC Client/Server​组件来保障链路的传递。并且为保障易用性,屏蔽复杂的功能细节,这种链路传递是底层隐式实现的,使用者完全无感知的。

新闻名称:创新互联GoFrame教程:GoFrame框架设计-全链路跟踪设计
文章网址:http://www.shufengxianlan.com/qtweb/news46/244146.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联