引言:
由于最近在做微服务架构的性能测试,所以需要整合Spring Cloud 生态体系的所有组件,在前期性能测试的调研中发现服务之间调用(RESTful)的长耗时成为了微服务架构的主要瓶颈,所以为了更好的对服务之间的调用进行监控与分析,学习并总结了Spring Cloud Sleuth和Greys,并推荐几篇实用性较强的文章与大家分享。
分享文章:
4.Spring Cloud Sleuth Reference
分享内容:
以上四篇文章初学者可以分为三个阶段进行学习,第一阶段为熟悉使用Spring Cloud Sleuth,第二阶段为深刻理解Spring Cloud Sleuth的原理,第三阶段为Spring Cloud Sleuth的进阶阶段,主要用于全面掌握Spring Cloud Sleuth和对相关问题进行排查。
我的评论:
Spring Cloud Sleuth 提供了一整套完整的分布式服务跟踪解决方案,总结下来主要有以下三个特点:
1.抽样采集:系统搜集的跟踪信息越多其实越能够准确的反应系统的实际运行情况,并给出准确的预警和分析,但是在高并发的情况下,大量请求产生的跟踪信息在一定程度上会影响程序的性能,而Spring Cloud Sleuth可以对抽样比例进行设置。
2.日志整合:在分布式系统中日志散落在各个服务实例的文件系统中,Spring Cloud Sleuth可以集成一些工具用来搜集、存储、搜索这些整合日志的信息,支持的工具有ElasticSerach、Logstash、Kibana等。
3.链路分析:Spring Cloud Sleuth可以与Zipkin进行整合,用来搜集整个请求链路的跟踪数据,这些数据可以存储在内存和数据库中,并能帮助我们直观的反应出延迟等指标,分析系统的性能瓶颈等。
微服务架构在落地时其实有很多困难和挑战,比如事务的一致性、共享Session等问题,而简单的业务逻辑在一定程度上会避免这些问题。但日志的整合、链路的跟踪是所有系统必不可少的一部分,Spring Cloud Sleuth会帮助我们解决部分问题。
在性能测试的过程中Spring Cloud Sleuth主要用于分析服务之间的调用耗时,通过不断的对服务配置进行调优,来缩短调用的耗时,从而达到一个理想的状态。现阶段我主要应用Spring Cloud Sleuth和阿里巴巴的Greys在高并发下分析程序的执行效率,找到性能的瓶颈。希望这部分内容能给学习Spring Cloud的小伙伴以及对微服务架构进行性能测试的小伙伴提供一个思路,欢迎交流,么么哒。