diff --git a/README.md b/README.md index e801c933..0f069739 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ * [《芋道 Spring Cloud Netflix 负载均衡 Ribbon 入门》](http://www.iocoder.cn/Spring-Cloud-Netflix/Ribbon/?github) 对应 [labx-02](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-02) * [《芋道 Spring Cloud 声明式调用 Feign 入门》](http://www.iocoder.cn/Spring-Cloud/Feign/?github) 对应 [labx-03](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-03) * [《芋道 Spring Cloud 服务网关 Spring Cloud Gateway 入门》](http://www.iocoder.cn/Spring-Cloud/Spring-Cloud-Gateway/?github) 对应 [labx-08](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-08) -* 《芋道 Spring Cloud 链路追踪 SkyWalking 入门》 +* [《芋道 Spring Cloud 链路追踪 SkyWalking 入门》](http://www.iocodere.cn/Spring-Cloud/SkyWalking/?github) 对应 [labx-14](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-14) * TODO 监控 # Spring Cloud 专栏 @@ -186,8 +186,8 @@ ## 链路追踪 -* 《芋道 Spring Cloud 链路追踪 Sleuth 入门》 -* 《芋道 Spring Cloud 链路追踪 SkyWalking 入门》 +* [《芋道 Spring Cloud 链路追踪 SkyWalking 入门》](http://www.iocodere.cn/Spring-Cloud/SkyWalking/?github) 对应 [labx-14](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-14) +* [《芋道 Spring Cloud 链路追踪 Spring Cloud Sleuth》](http://www.iocodere.cn/Spring-Cloud/Spring-Cloud-Sleuth/?github) 对应 [labx-13](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-13) # Dubbo 专栏 diff --git a/labx-13/labx-13-sc-sleuth-feign/pom.xml b/labx-13/labx-13-sc-sleuth-feign/pom.xml new file mode 100644 index 00000000..3598d582 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-feign/pom.xml @@ -0,0 +1,64 @@ + + + + labx-13 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + labx-13-sc-sleuth-feign + + + 1.8 + 1.8 + 2.2.4.RELEASE + Hoxton.SR1 + + + + + + + org.springframework.boot + spring-boot-starter-parent + ${spring.boot.version} + pom + import + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.cloud + spring-cloud-starter-zipkin + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + diff --git a/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/FeignApplication.java b/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/FeignApplication.java new file mode 100644 index 00000000..cc59b851 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/FeignApplication.java @@ -0,0 +1,15 @@ +package cn.iocoder.springcloud.labx13.springmvcdemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableFeignClients +public class FeignApplication { + + public static void main(String[] args) { + SpringApplication.run(FeignApplication.class, args); + } + +} diff --git a/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/FeignController.java b/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/FeignController.java new file mode 100644 index 00000000..920a9593 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/FeignController.java @@ -0,0 +1,22 @@ +package cn.iocoder.springcloud.labx13.springmvcdemo.controller; + +import cn.iocoder.springcloud.labx13.springmvcdemo.feign.UserServiceFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/feign") +public class FeignController { + + @Autowired + private UserServiceFeignClient userServiceFeignClient; + + @GetMapping("/get") + public String get(@RequestParam("id") Integer id) { + return userServiceFeignClient.get(id); + } + +} diff --git a/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/feign/UserServiceFeignClient.java b/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/feign/UserServiceFeignClient.java new file mode 100644 index 00000000..534e06a3 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-feign/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/feign/UserServiceFeignClient.java @@ -0,0 +1,13 @@ +package cn.iocoder.springcloud.labx13.springmvcdemo.feign; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient(name = "user-service", url = "http://127.0.0.1:8080") +public interface UserServiceFeignClient { + + @GetMapping("/user/get") + String get(@RequestParam("id") Integer id); + +} diff --git a/labx-13/labx-13-sc-sleuth-feign/src/main/resources/application.yml b/labx-13/labx-13-sc-sleuth-feign/src/main/resources/application.yml new file mode 100644 index 00000000..ac93ab08 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-feign/src/main/resources/application.yml @@ -0,0 +1,19 @@ +server: + port: 8081 + +spring: + application: + name: feign-service # 服务名 + + # Zipkin 配置项,对应 ZipkinProperties 类 + zipkin: + base-url: http://127.0.0.1:9411 # Zipkin 服务的地址 + + # Spring Cloud Sleuth 配置项 + sleuth: + # Spring Cloud Sleuth 针对 Web 组件的配置项,例如说 SpringMVC + web: + enabled: true # 是否开启,默认为 true + # Spring Cloud Sleuth 针对 Feign 组件的配置项,对应 SleuthFeignProperties 类 + feign: + enabled: true # 是否开启,默认为 true diff --git a/labx-13/labx-13-sc-sleuth-springcloudgateway/pom.xml b/labx-13/labx-13-sc-sleuth-springcloudgateway/pom.xml new file mode 100644 index 00000000..39ff3012 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-springcloudgateway/pom.xml @@ -0,0 +1,64 @@ + + + + labx-08 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + labx-13-sc-sleuth-springcloudgateway + + + 2.2.4.RELEASE + Hoxton.SR1 + 2.2.0.RELEASE + + + + + + + org.springframework.boot + spring-boot-starter-parent + ${spring.boot.version} + pom + import + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud.version} + pom + import + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring.cloud.alibaba.version} + pom + import + + + + + + + + org.springframework.cloud + spring-cloud-starter-gateway + + + + + org.springframework.cloud + spring-cloud-starter-zipkin + + + + diff --git a/labx-13/labx-13-sc-sleuth-springcloudgateway/src/main/java/cn/iocoder/springcloud/labx13/gatewaydemo/GatewayApplication.java b/labx-13/labx-13-sc-sleuth-springcloudgateway/src/main/java/cn/iocoder/springcloud/labx13/gatewaydemo/GatewayApplication.java new file mode 100644 index 00000000..58c44dd7 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-springcloudgateway/src/main/java/cn/iocoder/springcloud/labx13/gatewaydemo/GatewayApplication.java @@ -0,0 +1,13 @@ +package cn.iocoder.springcloud.labx13.gatewaydemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class GatewayApplication { + + public static void main(String[] args) { + SpringApplication.run(GatewayApplication.class, args); + } + +} diff --git a/labx-13/labx-13-sc-sleuth-springcloudgateway/src/main/resources/application.yaml b/labx-13/labx-13-sc-sleuth-springcloudgateway/src/main/resources/application.yaml new file mode 100644 index 00000000..070d13a8 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-springcloudgateway/src/main/resources/application.yaml @@ -0,0 +1,26 @@ +server: + port: 8888 + +spring: + application: + name: gateway-application + + # Zipkin 配置项,对应 ZipkinProperties 类 + zipkin: + base-url: http://127.0.0.1:9411 # Zipkin 服务的地址 + + # Spring Cloud Sleuth 配置项 + sleuth: + # Spring Cloud Sleuth 针对 Web 组件的配置项,例如说 SpringMVC + web: + enabled: true # 是否开启,默认为 true + + cloud: + # Spring Cloud Gateway 配置项,对应 GatewayProperties 类 + gateway: + # 路由配置项,对应 RouteDefinition 数组 + routes: + - id: feign-service-route + uri: http://127.0.0.1:8081 + predicates: + - Path=/** diff --git a/labx-13/labx-13-sc-sleuth-springmvc/pom.xml b/labx-13/labx-13-sc-sleuth-springmvc/pom.xml index e56fa69e..a8348b65 100644 --- a/labx-13/labx-13-sc-sleuth-springmvc/pom.xml +++ b/labx-13/labx-13-sc-sleuth-springmvc/pom.xml @@ -48,7 +48,7 @@ spring-boot-starter-web - + org.springframework.cloud spring-cloud-starter-zipkin diff --git a/labx-13/pom.xml b/labx-13/pom.xml index 0139a469..2320d9c4 100644 --- a/labx-13/pom.xml +++ b/labx-13/pom.xml @@ -12,8 +12,11 @@ labx-13 pom - + labx-13-sc-sleuth-zipkin-server-demo-in-memory + labx-13-sc-sleuth-springmvc + labx-13-sc-sleuth-feign + labx-13-sc-sleuth-springcloudgateway