diff --git a/README.md b/README.md index 0f069739..2d81fa5a 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 入门》](http://www.iocodere.cn/Spring-Cloud/SkyWalking/?github) 对应 [labx-14](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-14) +* [《芋道 Spring Cloud 链路追踪 SkyWalking 入门》](http://www.iocoder.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 链路追踪 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) +* [《芋道 Spring Cloud 链路追踪 SkyWalking 入门》](http://www.iocoder.cn/Spring-Cloud/SkyWalking/?github) 对应 [labx-14](https://github.com/YunaiV/SpringBoot-Labs/tree/master/labx-14) +* [《芋道 Spring Cloud 链路追踪 Spring Cloud Sleuth》](http://www.iocoder.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-db-mysql/pom.xml b/labx-13/labx-13-sc-sleuth-db-mysql/pom.xml new file mode 100644 index 00000000..063a2385 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-db-mysql/pom.xml @@ -0,0 +1,75 @@ + + + + labx-13 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + labx-13-sc-sleuth-db-mysql + + + 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.boot + spring-boot-starter-jdbc + + + mysql + mysql-connector-java + 5.1.46 + + + + + org.springframework.cloud + spring-cloud-starter-zipkin + + + + + io.zipkin.brave + brave-instrumentation-mysql + + + + diff --git a/labx-13/labx-13-sc-sleuth-db-mysql/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/UserServiceApplication.java b/labx-13/labx-13-sc-sleuth-db-mysql/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/UserServiceApplication.java new file mode 100644 index 00000000..5386ea90 --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-db-mysql/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/UserServiceApplication.java @@ -0,0 +1,13 @@ +package cn.iocoder.springcloud.labx13.springmvcdemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserServiceApplication { + + public static void main(String[] args) { + SpringApplication.run(UserServiceApplication.class, args); + } + +} diff --git a/labx-13/labx-13-sc-sleuth-db-mysql/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/UserController.java b/labx-13/labx-13-sc-sleuth-db-mysql/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/UserController.java new file mode 100644 index 00000000..c06ff06e --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-db-mysql/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/UserController.java @@ -0,0 +1,30 @@ +package cn.iocoder.springcloud.labx13.springmvcdemo.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.BeanPropertyRowMapper; +import org.springframework.jdbc.core.JdbcTemplate; +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("/user") +public class UserController { + + @Autowired + private JdbcTemplate template; + + @GetMapping("/get") + public String get(@RequestParam("id") Integer id) { + this.selectById(1); + return "success"; + } + + public Object selectById(Integer id) { + return template.queryForObject("SELECT id, username, password FROM t_user WHERE id = ?", + new BeanPropertyRowMapper<>(Object.class), // 结果转换成对应的对象。Object 理论来说是 UserDO.class ,这里偷懒了。 + id); + } + +} diff --git a/labx-13/labx-13-sc-sleuth-db-mysql/src/main/resources/application.yml b/labx-13/labx-13-sc-sleuth-db-mysql/src/main/resources/application.yml new file mode 100644 index 00000000..10c58b1e --- /dev/null +++ b/labx-13/labx-13-sc-sleuth-db-mysql/src/main/resources/application.yml @@ -0,0 +1,20 @@ +spring: + application: + name: user-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 + + # datasource 数据源配置内容 + datasource: + url: jdbc:mysql://127.0.0.1:3306/lab-39-mysql?useSSL=false&useUnicode=true&characterEncoding=UTF-8&statementInterceptors=brave.mysql.TracingStatementInterceptor&zipkinServiceName=demo-db-mysql + driver-class-name: com.mysql.jdbc.Driver + username: root + password: diff --git a/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-consumer/pom.xml b/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-consumer/pom.xml index 5cbf6d9a..377c9f6c 100644 --- a/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-consumer/pom.xml +++ b/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-consumer/pom.xml @@ -11,7 +11,6 @@ labx-13-sc-sleuth-dubbo-consumer - 1.8 1.8 diff --git a/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-provider/src/main/java/cn/iocoder/springcloud/labx13/providerdemo/service/UserServiceImpl.java b/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-provider/src/main/java/cn/iocoder/springcloud/labx13/providerdemo/service/UserServiceImpl.java index e13ccb75..64e0b8dc 100644 --- a/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-provider/src/main/java/cn/iocoder/springcloud/labx13/providerdemo/service/UserServiceImpl.java +++ b/labx-13/labx-13-sc-sleuth-dubbo/labx-13-sc-sleuth-dubbo-provider/src/main/java/cn/iocoder/springcloud/labx13/providerdemo/service/UserServiceImpl.java @@ -10,5 +10,4 @@ public class UserServiceImpl implements UserService { return "user:" + id; } - } diff --git a/labx-13/pom.xml b/labx-13/pom.xml index c8e820c8..3916fb76 100644 --- a/labx-13/pom.xml +++ b/labx-13/pom.xml @@ -18,6 +18,8 @@ labx-13-sc-sleuth-feign labx-13-sc-sleuth-springcloudgateway labx-13-sc-sleuth-dubbo + + labx-13-sc-sleuth-db-mysql