I believe Dependency Injection helps build more robust and testable applications. This is especially true as these applications grow in size. Go is well suited to building large applications and has a great DI tool indig . I believe the Go community should embrace DI and use it in far more applications.
如何评价Uber不用Node.js,而用Go语言构建地理查询服务严格从语法上来说,Swift 3.0确实是全世界目前最先进的、最现代的语法,其精准、安全程度远远超过其他任何一种语言 , 从性能上来说,Nodejs真的不适合做服务器 。下面的链接有一组数据 ,
常见分布式链路追踪(Tacing)产品简介 eBay早在2002年的时候uber规范go语言,就开发了一套叫做CAL(Centralized Application Logging)的链路追踪系统uber规范go语言,在eBay内部堪称架构神器 。不过没有开源 。
Google在与eBay差不多的时间,也开发了一套链路追踪系统 , 叫Dapper,在Google内部运行了很长时间,一直没有开源 。不过在2010年的时候,Google发布了一篇划时代的论文,来介绍Dapper的原理 。Dapper论文成了后面众多链路追踪系统的理论基础 。
下面是Dapper论文的英文原版和中文翻译版:
Dapper 英文版
Dapper 中文翻译版
在eBay工作了十多年的 吴其敏 加入大众点评成为首席架构师 。吴其敏以eBay的CAL为模板,在2011年底,开始研发名为 CAT (Central Application Tracking)的链路追踪系统 。CAT在2014年开始开源,已经被众多知名公司使用 。
下面是美团官方技术博客对CAT的介绍:
美团官方技术博客 - 深度剖析开源分布式监控CAT
下面是CAT Github地址:
CAT - Github
下面是CAT UI示例:
Twitter在2012年开源了Zipkin 。不过Zipkin最早是用scala实现的,比较小众 。后来由社区用java重写为OpenZipkin,才开始流行起来 。Zipkin可以认为是Dapper论文的工程实践 。
下面是Zipkin的和Github地址:
Zipkin
Zipkin - Github
下面是Zipkin Tracing UI示例:
Pinpoint是一家名叫Naver的韩国公司的产品 。Naver是韩国当前最大的互联网服务公司 。Pinpoint的创新点在于使用了字节码注入技术,埋点是无侵入的 。
下面是Pinpoint在Github的地址:
Pinpoint - Github
下面是Pinpoint Tracing UI示例:
2015年 , 前OneAPM成员 吴晟 借鉴Pinpoint的思想,开发并开源了Skywalking , 并在2017年时进入Apache孵化器 。在Apache背书的情况下,Skywalking近几年在国内发展迅速 。
同Pinpoint一样 , Skywalking也使用了字节码注入技术,埋点也是无侵入的 。
下面是Skywalking Github地址:
Github - Skywalking
下面是Skywalking一个体验版服务:
Skywalking - Demo
下面是Skywalking Tracing UI示例:
2016年 , Uber受Dapper和OpenZipkin启发,用Go语言开发了链路追踪系统Jaeger 。可以认为Jaeger是Zipkin的golang版 。
下面是Jaeger和Github地址:
Jaeger
Github - Jaeger
下面是Jaeger Tracing UI示例:
CAT可以说是与CAL同根同源 。而Zipkin、Pinpoint、Skywalking、Jaeger均是参考Dapper论文发展而来 , 因此,上述产品可大致按下图划分:
另外,链路追踪和APM可以说是密不可分 , 也越来越多的开源产品不仅局限于提供Tacing的功能 。上述开源产品中,有很多产品本质上是个APM,Tracing只是其众多功能中的一部分:
后续会对比上述几个开源产品的异同,做为在技术选型时作为参考 。
【uber规范go语言 uber中文】关于uber规范go语言和uber中文的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 营销号如何研究竞争,营销号怎么打造
- youtobe格斗游戏,格斗游戏全部
- 探讨服装直播运营,探讨服装直播运营方案
- 怎么登录mysql命令行 怎么用命令行登录mysql
- 淘宝如何找电商,淘宝如何找电商小蜂蜜查号
- thinkcmf跟wordpress,thinkcmf
- 如何运用新媒体工具,如何用好新媒体
- vb.net图片旋转 vb怎么实现图片更换
- 白酒拍摄什么素材,白酒怎样拍视频才吸引人