<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                演示案例:由 cloud-comsumer-order80 消費端調用 cloud-provider-payment8001 服務端,然后由 Sleuth + Zipkin 監控其調用的情況。 <br/> 步驟如下: [TOC] # 1. 啟動Zipkin :-: ![](https://img.kancloud.cn/fa/d6/fad63b3dd038377e7b50ff7cf3ef3af1_1053x508.jpg) 官網原圖:Zipkin完整的調用鏈路 ![](https://img.kancloud.cn/48/a2/48a28ce6268c685f39977ff5ac777b90_1166x290.jpg) 簡化官網圖:Zipkin完整的調用鏈路 ![](https://img.kancloud.cn/d5/a1/d5a120633a2ebf2f1bd9eeee0f78670b_1263x194.jpg) 整個鏈路的依賴關系 如上面的圖所示:表示一請求鏈路,一條鏈路通過Trace ld唯一標識,Span標識發起的請求信息,各 span 通過 parent id 關聯起來。 ``` Trace:類似于樹結構的Span集合,表示一條調用鏈路,存在唯一標識 span:表示調用鏈路來源,通俗的理解span就是一次請求信息 ``` <br/> SpringCloud從F版起已不需要自己構建Zipkin Server了,只需調用jar包即可,當前使用 SpringCloud版本為H版本(F -> H)。 **** zipkin下載地址 github:https://github.com/openzipkin/zipkin <br/> **1. 運行 zipin server jar 包** 如果沒有現成的 zipkin-server-2.23.3-*exec.jar 包,則需要自己編譯,按照如下命令編譯。 ```shell $ git clone https://github.com/openzipkin/zipkin $ cd zipkin $ mvn -DskipTests --also-make -pl zipkin-server clean install # 運行 zipkin-server jar包 $ java -jar ./zipkin-server/target/zipkin-server-*exec.jar ``` **2. 訪問Zipkin Server http://localhost:9411/zipkin/** ![](https://img.kancloud.cn/0e/ca/0eca1ca201d185afc143314b4f6f99ab_1763x379.jpg) <br/> # 2. cloud-provider-payment8001 服務端配置 **1. 在 payment8001 模塊的`pom.xml`添加 zipkin 依賴** ```xml <dependencies> <!--包含了Sleuth--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> ... </dependencies> ``` **2. 在 payment8001 模塊的`application.yml`中添加 Zipkin 相關配置** ```yml spring: application: name: cloud-payment-service zipkin: base-url: http://localhost:9411 #Zipkin的訪問地址 sleuth: sampler: #采樣率值介于0到1之間,1則表示全部采集,一般取0.5即可 probability: 1 ``` **3. 在 controller 添加一個用于測試的方法** ```java @RestController @RequestMapping("/payment") public class PaymentController { @GetMapping("/zipkin") public String paymentZipkin() { return "hi,i`am paymentzipkin server fall back.welcome to atguigu"; } } ``` <br/> # 3. cloud-comsumer-order80 消費端配置 **1. 在 order80 消費端的`pom.xml`中添加 zipkin 依賴** ```xml <dependencies> <!--包含了Sleuth--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> ... </dependencies> ``` **2. 在 order80 消費端的`application.yml`中添加 zipkin 相關配置** ```yml spring: application: name: cloud-comsumer-order zipkin: base-url: http://localhost:9411 #Zipkin的訪問地址 sleuth: sampler: #采樣率值介于0到1之間,1則表示全部采集,一般取0.5即可 probability: 1 ``` **3. 在 order80 消費端的controller層添加一個測試方法** ```java @RestController @RequestMapping("/order") public class OrderController { @Resource private RestTemplate restTemplate; @GetMapping("/zipkin") public String paymentZipkin() { String result = restTemplate.getForObject("http://localhost:8001/payment/zipkin", String.class); return result; } } ``` <br/> # 4. 測試 (1)已經運行了 zipkin server jar 包。 (2)啟動 payment8001 服務端,再啟動 order80 消費端。 訪問 order80 消費端 http://localhost/consumer/zipkin 并多刷新幾次頁面。 (3)訪問Zipkin http://localhost:9411/zipkin/ ,查看Zipkin上監控的信息。 :-: ![](https://img.kancloud.cn/a2/9a/a29a6d5df016ec09d38c30970250b6ec_780x343.jpg) 圖1:可以看到兩個服務之間的依賴關系 ![](https://img.kancloud.cn/5e/cc/5ecc970bb099ff0b6afc4a9d2806062d_780x429.jpg) 圖2:可以查看兩個服務就的請求情況
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看