为什么使用了httpclient,客户端没有向zipkin server发送日志?
因为我实在main方法中调用的,完事后这个线程就没了;httpclient用的还是异步的发送日志方式;所以没发日志。
 
但是现在卡主我的确实为什么只有client的信息,没有server信息!
应该还是进程被干掉的原因,因为我是用spring注入的方式没有问题!
下面截图示意一下zipkin的内容。本机调用10.4.120.77的web服务;下面这个图是远程77的web服务的brave没有放开的情况下的情况:
  
第一个get/是通过浏览器访问该web网站打出的日志;
 
第二个post则是在get访问内部方法的里面通过restTemplate.postForObject方法向另外一个web网站请求站点数据(http://10.4.120.77:8081/brave-rt/);因为另外一个Web站点关闭了zipkin(将zipkin的url设置为一个不可用地址),所以没有显示。
 
下面让77web服务brave正常向zipkin发送日志:
brave-rt-client的输出内容和上面的一样(都是通过浏览器出发servlet处理,所以内容一样);
同时第二个POST操作,有了变化,首先名称变成了“brave-rt”;其次点进去你会看到内容变得很全,整个调用链都出来;
第三条记录点开来看,只有backend操作了信息:
通过这两套数据的分析,可以得出结论:zipkin的链式数据分析是由各个节点独立通知zipkin服务器,有zipkin服务器汇聚整理而得来的;曾经我以为是下级调用会向上级反馈日志信息,看来不是,大家各自存各自的;所以会发生刚刚发生的操作行为日志并没有,而是要等一会;因为大家都是异步通知zipkin,所以只有等都搞完了才会有数据(zipkin内部应该会判断如果有缺失则数据不显示);
zipkin的brave发送日志应该有两种机制,一种是队列满了则发送,另外一个是如果在队列到了一定程度则发送;
同时第二个POST操作,有了变化,首先名称变成了“brave-rt”;其次点进去你会看到内容变得很全,整个调用链都出来;为什么?我推测zipkin处理机制(以后源码读完了再来确认一下),如果跨站点,则Server角色会把整个调用链(从上游调用到自己处理,只是上游和自己两层,不包括自己的下游)打印出来;
下面我们把调用链改一下第三个调用改为另外一台主机(和第一个服务放在一台主机上面)
第一个不看了,大同小异;
第二个如下,和之前的基本一样,把上游(client)和自己(server)链都打印出来:
  到了第三个,之前如果本机间访问,只会有一条ss和sr的日志,但是现在也是一条完整的上下游的调用无23 链路。
 
 
 
 

zipkin:调用链显示分析的更多相关文章

  1. dubbo+zipkin调用链监控(二)

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  2. dubbo+zipkin调用链监控

    分布式环境下,对于线上出现问题往往比单体应用要复杂的多,原因是前端的一个请求可能对应后端多个系统的多个请求,错综复杂. 对于快速问题定位,我们一般希望是这样的: 从下到下关键节点的日志,入参,出差,异 ...

  3. 调用链系列三、基于zipkin调用链封装starter实现springmvc、dubbo、restTemplate等实现全链路跟踪

    一.实现思路 1.过滤器实现思路 所有调用链数据都通过过滤器实现埋点并收集.同一条链共享一个traceId.每个节点有唯一的spanId. 2.共享传递方式 1.rpc调用:通过隐式传参.dubbo有 ...

  4. spring cloud 学习(8) - sleuth & zipkin 调用链跟踪

    业务复杂的微服务架构中,往往服务之间的调用关系比较难梳理,一次http请求中,可能涉及到多个服务的调用(eg: service A -> service B -> service C... ...

  5. Zipkin存储Sleuth信息实现调用链追踪的几种方法

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/alva_xu/article/detail ...

  6. 调用链系列一、Zipkin架构介绍、Springboot集承(springmvc,HttpClient)调用链跟踪、Zipkin UI详解

    1.Zipkin是什么 Zipkin分布式跟踪系统:它可以帮助收集时间数据,解决在microservice架构下的延迟问题:它管理这些数据的收集和查找:Zipkin的设计是基于谷歌的Google Da ...

  7. libevent2源码分析之五:关键的调用链

    用一个调用链来表示函数调用的流程,看起来更直观.根据上面的分析,总结了一些重要的调用链. 初始化 event_base_new event_base_new_with_config min_heap_ ...

  8. Spring Cloud Alibaba学习笔记(23) - 调用链监控工具Spring Cloud Sleuth + Zipkin

    随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求陷入性能瓶颈或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何 ...

  9. Spring Cloud Alibaba 实战(十三) - Sleuth调用链监控

    本文概要:大白话剖析调用链监控原理,然后学习Sleuth,Zipkin,然后将Sleuth整合Zipkin,最后学习Zipkin数据持久化(Elasticsearch)以及Zipkin依赖关系图 实战 ...

随机推荐

  1. 20145307陈俊达《网络对抗》逆向及Bof基础

    20145307陈俊达<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任 ...

  2. K-Means 算法(Java)

    kMeans算法原理见我的上一篇文章.这里介绍K-Means的Java实现方法,参考了Python的实现方法. 一.数据点的实现 package com.meachine.learning.kmean ...

  3. Maven编译代码的时候跳过单元测试

    Maven编译代码的时候跳过单元测试 <properties> <maven.test.skip>true</maven.test.skip> </prope ...

  4. Mac系统下adb工具的配置

    sudo vim ~/.bash_profile 增加如下内容 ANDROID_HOME=/Users/apple/Library/Android/sdk export PATH=$PATH:$AND ...

  5. 大白菜的装机U盘真不错

    今天用大白菜制作了个启动U盘,然后在里面,把[电脑公司]的ghost文件拷贝进去. 重新安装WinXP成功. 注意: 1)直接用[电脑公司]的ISO文件,用Win32DiskImage写到U盘,不知为 ...

  6. data模块

    这个模块原本应该存放Excel文件,提供utils目录下的config模块调用: 这里公司内部无法使用Excel读取数据,顾使用了ddt,其实里面就是.xslx文件

  7. Page.TryUpdateModel 方法

    使用来自值提供程序的值更新指定的模型实例. 使用来自值提供程序的值更新指定的模型实例. 命名空间:   System.Web.UI程序集:  System.Web(System.Web.dll 中) ...

  8. Linux终端界面屏保

    Linux终端界面屏保   在很多Linux使用者的认知里,都认为终端下的Linux操作界面是没有屏保的,只有像windows那样的图形界面下才有屏保.但是其实Linux下也是有屏保的,只不过是ASC ...

  9. Spring的注解@Qualifier(二十五)

    转载:https://www.cnblogs.com/smileLuckBoy/p/5801678.html 近期在捯饬spring的注解,现将遇到的问题记录下来,以供遇到同样问题的童鞋解决~ 先说明 ...

  10. java读取PHP接口数据的实现方法(四)

    PHP文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3 ...