提交 b8ecd172 编写于 作者: W wangfeihu

Sleuth链路追踪

上级 7c66d5fd
......@@ -25,6 +25,12 @@
<version>${project.version}</version>
</dependency>
<!-- 包含了sleuth+zipkin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
......
......@@ -9,7 +9,7 @@ import org.springframework.web.client.RestTemplate;
public class ApplicationContextConfig {
@Bean
// @LoadBalanced // 使用@LoadBalanced注解赋予RestTemplate负载均衡的能力
@LoadBalanced // 使用@LoadBalanced注解赋予RestTemplate负载均衡的能力
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
......
......@@ -39,6 +39,7 @@ public class OrderController {
return restTemplate.postForObject(PAYMENT_URL + "/payment/create", payment, R.class);
}
// 测试自定义负载均衡算法, 其他情况请加上 @LoadBalanced, 若测这个请注释掉 RestTemplate 的 @LoadBalanced
@GetMapping(value = "/consumer/payment/lb")
public String getPaymentLB() {
List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");
......@@ -47,4 +48,10 @@ public class OrderController {
URI uri = serviceInstance.getUri();
return restTemplate.getForObject(uri + "/payment/lb", String.class);
}
// ====================> zipkin + sleuth
@GetMapping("/consumer/payment/zipkin")
public String paymentZipkin() {
return restTemplate.getForObject(PAYMENT_URL + "/payment/zipkin/", String.class);
}
}
......@@ -4,6 +4,12 @@ server:
spring:
application:
name: cloud-order-service
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率 介于 0 ~ 1 之间, 1 则表示全部采样
probability: 1
eureka:
client:
......
......@@ -13,6 +13,11 @@
<artifactId>cloud-provider-payment8001</artifactId>
<dependencies>
<!-- 包含了sleuth+zipkin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!-- eureka client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
......
......@@ -69,4 +69,9 @@ public class PaymentController {
try { TimeUnit.SECONDS.sleep(3); } catch (InterruptedException e) { e.printStackTrace();}
return serverPort;
}
@GetMapping("/payment/zipkin")
public String paymentZipkin() {
return "hi ,I am paymentZipkin server fall back,welcome to my home8001,O(∩_∩)O哈哈~";
}
}
......@@ -4,6 +4,12 @@ server:
spring:
application:
name: cloud-payment-service
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率 介于 0 ~ 1 之间, 1 则表示全部采样
probability: 1
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
......
......@@ -13,6 +13,11 @@
<artifactId>cloud-provider-payment8002</artifactId>
<dependencies>
<!-- 包含了sleuth+zipkin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!-- eureka client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
......
......@@ -51,4 +51,9 @@ public class PaymentController {
try { TimeUnit.SECONDS.sleep(3); } catch (InterruptedException e) { e.printStackTrace();}
return serverPort;
}
@GetMapping("/payment/zipkin")
public String paymentZipkin() {
return "hi ,I am paymentZipkin server fall back,welcome to my home8002,O(∩_∩)O哈哈~";
}
}
......@@ -4,6 +4,12 @@ server:
spring:
application:
name: cloud-payment-service
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率 介于 0 ~ 1 之间, 1 则表示全部采样
probability: 1
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册