amp 调用链_调用链选型之Zipkin,Pinpoint,SkyWalking,CAT
簡介
Zipkin是Twitter開源的調(diào)用鏈分析工具,目前基于springcloud sleuth得到了廣泛的使用,特點是輕量,使用部署簡單。
Pinpoint是韓國人開源的基于字節(jié)碼注入的調(diào)用鏈分析,以及應用監(jiān)控分析工具。特點是支持多種插件,UI功能強大,接入端無代碼侵入。
SkyWalking是本土開源的基于字節(jié)碼注入的調(diào)用鏈分析,以及應用監(jiān)控分析工具。特點是支持多種插件,UI功能較強,接入端無代碼侵入。目前已加入Apache孵化器。
CAT是大眾點評開源的基于編碼和配置的調(diào)用鏈分析,應用監(jiān)控分析,日志采集,監(jiān)控報警等一系列的監(jiān)控平臺工具。
基本原理
類別
Zipkin
Pinpoint
SkyWalking
CAT
實現(xiàn)方式
攔截請求,發(fā)送(HTTP,mq)數(shù)據(jù)至zipkin服務
java探針,字節(jié)碼增強
java探針,字節(jié)碼增強
代碼埋點(攔截器,注解,過濾器等)
接入
類別
Zipkin
Pinpoint
SkyWalking
CAT
接入方式
基于linkerd或者sleuth方式,引入配置即可
javaagent字節(jié)碼
javaagent字節(jié)碼
代碼侵入
agent到collector的協(xié)議
http,MQ
thrift
gRPC
http/tcp
OpenTracing
√
×
√
×
分析
類別
Zipkin
Pinpoint
SkyWalking
CAT
顆粒度
接口級
方法級
方法級
代碼級
全局調(diào)用統(tǒng)計
×
√
√
√
traceid查詢
√
×
√
×
報警
×
√
√
√
JVM監(jiān)控
×
×
√
√
頁面UI展示
類別
Zipkin
Pinpoint
SkyWalking
CAT
健壯度
**
*****
****
*****
數(shù)據(jù)存儲
類別
Zipkin
Pinpoint
SkyWalking
CAT
數(shù)據(jù)存儲
ES,mysql,Cassandra,內(nèi)存
Hbase
ES,H2
mysql,hdfs
PinPoint和skyWalking支持的插件對比
類別
Pinpoint
SkyWalking
web容器
Tomcat6/7/8,Resin,Jetty,JBoss,Websphere
Tomcat7/8/9,Resin,Jetty
JDBC
Oracle,mysql
Oracle,mysql,Sharding-JDBC
消息中間件
ActiveMQ, RabbitMQ
RocketMQ 4.x,Kafka
日志
log4j, Logback
log4j,log4j2, Logback
HTTP庫
Apache HTTP Client, GoogleHttpClient, OkHttpClient
Apache HTTP Client, OkHttpClient,Feign
Spring體系
spring,springboot
spring,springboot,eureka,hystrix
RPC框架
Dubbo,Thrift
Dubbo,Motan,gRPC,ServiceComb
NOSQL
Memcached, Redis, CASSANDRA
Memcached, Redis
社區(qū)活躍度
截止到2018年5月14日
類別
Zipkin
Pinpoint
SkyWalking
CAT
STAR
8.4k
5.9k
3.3k
4.9k
性能分析
模擬了三種并發(fā)用戶:500,750,1000。使用jmeter測試,每個線程發(fā)送30個請求,設置思考時間為10ms。使用的采樣率為1,即100%,這邊與生產(chǎn)可能有差別。pinpoint默認的采樣率為20,即50%,通過設置agent的配置文件改為100%。zipkin默認也是1。組合起來,一共有12種。下面看下匯總表:
調(diào)用鏈性能測試對比.png
從上表可以看出,在三種鏈路監(jiān)控組件中,skywalking的探針對吞吐量的影響最小,zipkin的吞吐量居中。pinpoint的探針對吞吐量的影響較為明顯,在500并發(fā)用戶時,測試服務的吞吐量從1385降低到774,影響很大。然后再看下CPU和memory的影響,在內(nèi)部服務器進行的壓測,對CPU和memory的影響都差不多在10%之內(nèi)。
總結
以上是生活随笔為你收集整理的amp 调用链_调用链选型之Zipkin,Pinpoint,SkyWalking,CAT的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hashmap移除元素_Java Has
- 下一篇: c swap方法在哪个库里面_swap