引言:继上篇《几种分布式调用链监控组件的实践与比较(一)实践》后,本篇将会讲下几种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.总结本文讨论了三种分布式调用链监控组件的比较,主要从五个方面,作者对每个项目进行了比较。至于使用哪个组件,您可以根据实际业务需求和方案进行选择。以上比较数据仅供参考。
领取专属 10元无门槛券
私享最新 技术干货