学习
实践
活动
专区
工具
TVP
写文章

几种分布式调用链监控组件的实践与比较(二)比较

引言:继上篇《几种分布式调用链监控组件的实践与比较(一)实践》后,本篇将会讲下几种APM选型的比较与性能测试。1.前文回顾上一篇文章主要讲了三种分布式调用链监控组件的实践。问题的背景由微服务架构展开,微服务的好处已经不用多说,而微服务的多了之后,千头万绪,下面这张图经常被用到。

因此增加了系统的复杂性。系统越复杂,解决系统故障或性能问题等问题就越困难。在三层架构中寻找解决方案并不困难。它只需要分析三个组件,如Web服务器,应用程序服务器和数据库,服务器数量不大。但是,如果在n层体系结构中出现问题,则需要调查大量组件和服务器。另一个问题是,通过仅分析单个组件很难看到全局;当发生低可见性问题时,系统复杂性越高,找到原因所需的时间越长。

从上表可以看出,在三个链路监控组件中,天行探测器对吞吐量的影响最小,并且zipkin吞吐量居中。精确定位探针对吞吐量有重大影响。当500个并发用户时,测试服务吞吐量从1385减少到774,这具有很大的影响。再看看CPU和内存的影响,笔者就是对内部服务器的压力测试,对CPU和内存的影响几乎都在10%以内。

Skywalking精确定位全面调用链接数据分析,提供代码级别可见性,以便轻松定位和瓶颈。基普金

Skywalkingskywalking还支持20多个中间件,框架和类库,如主流dubbo,Okhttp,以及数据库和消息传递中间件。skywalking链接调用分析拦截很简单。网关调用用户服务。因为它支持大量中间件,所以skywalking链接调用分析比zipkin更完整。查明

Pinpoint应该是三个APM组件中最完整的数据分析组件。提供代码级可见性,轻松定位故障点和瓶颈。上图显示了执行的sql语句被记录。您还可以配置警报规则等,为每个应用程序设置负责人员,并根据配置的规则进行警报。支持的中间件和框架也相对完整。透明开发,易于切换,无需修改代码即可添加新功能,易于启用或禁用。我们希望功能在不修改代码的情况下工作,并希望代码级可见性。

以上三个图显示了APM组件的相应调用拓扑,可以实现完整的调用链应用拓扑。相对而言,精确定位接口更加丰富,特别是对于呼叫DB名称,并且zipkin拓扑仅限于服务之间的服务。3.总结本文讨论了三种分布式调用链监控组件的比较,主要从五个方面,作者对每个项目进行了比较。至于使用哪个组件,您可以根据实际业务需求和方案进行选择。以上比较数据仅供参考。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180907A1TD6G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券