Skip to content

Commit 0b2244e

Browse files
author
YunaiV
committed
增加 spring cloud x skywalking 链路追踪
1 parent 9b9f786 commit 0b2244e

File tree

13 files changed

+307
-0
lines changed

13 files changed

+307
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<artifactId>labx-14-sc-skywalking-dubbo</artifactId>
7+
<groupId>cn.iocoder.springboot.labs</groupId>
8+
<version>1.0-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<artifactId>labx-14-sc-skywalking-dubbo-api</artifactId>
13+
14+
15+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package cn.iocoder.springcloud.labx14.api;
2+
3+
/**
4+
* 用户服务 RPC Service 接口
5+
*/
6+
public interface UserService {
7+
8+
/**
9+
* 根据指定用户编号,获得用户信息
10+
*
11+
* @param id 用户编号
12+
* @return 用户信息
13+
*/
14+
String get(Integer id);
15+
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package cn.iocoder.springcloud.labx13;
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<artifactId>labx-14-sc-skywalking-dubbo</artifactId>
7+
<groupId>cn.iocoder.springboot.labs</groupId>
8+
<version>1.0-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<artifactId>labx-14-sc-skywalking-dubbo-consumer</artifactId>
13+
14+
<properties>
15+
<maven.compiler.target>1.8</maven.compiler.target>
16+
<maven.compiler.source>1.8</maven.compiler.source>
17+
<spring.boot.version>2.2.4.RELEASE</spring.boot.version>
18+
<spring.cloud.version>Hoxton.SR1</spring.cloud.version>
19+
<spring.cloud.alibaba.version>2.2.0.RELEASE</spring.cloud.alibaba.version>
20+
</properties>
21+
22+
<!--
23+
引入 Spring Boot、Spring Cloud、Spring Cloud Alibaba 三者 BOM 文件,进行依赖版本的管理,防止不兼容。
24+
在 https://dwz.cn/mcLIfNKt 文章中,Spring Cloud Alibaba 开发团队推荐了三者的依赖关系
25+
-->
26+
<dependencyManagement>
27+
<dependencies>
28+
<dependency>
29+
<groupId>org.springframework.boot</groupId>
30+
<artifactId>spring-boot-starter-parent</artifactId>
31+
<version>${spring.boot.version}</version>
32+
<type>pom</type>
33+
<scope>import</scope>
34+
</dependency>
35+
<dependency>
36+
<groupId>org.springframework.cloud</groupId>
37+
<artifactId>spring-cloud-dependencies</artifactId>
38+
<version>${spring.cloud.version}</version>
39+
<type>pom</type>
40+
<scope>import</scope>
41+
</dependency>
42+
<dependency>
43+
<groupId>com.alibaba.cloud</groupId>
44+
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
45+
<version>${spring.cloud.alibaba.version}</version>
46+
<type>pom</type>
47+
<scope>import</scope>
48+
</dependency>
49+
</dependencies>
50+
</dependencyManagement>
51+
52+
<dependencies>
53+
<!-- 引入定义的 Dubbo API 接口 -->
54+
<dependency>
55+
<groupId>cn.iocoder.springboot.labs</groupId>
56+
<artifactId>labx-14-sc-skywalking-dubbo-api</artifactId>
57+
<version>1.0-SNAPSHOT</version>
58+
</dependency>
59+
60+
<!-- 引入 SpringMVC 相关依赖,并实现对其的自动配置 -->
61+
<dependency>
62+
<groupId>org.springframework.boot</groupId>
63+
<artifactId>spring-boot-starter-web</artifactId>
64+
</dependency>
65+
66+
<!-- 引入 Spring Cloud Alibaba Nacos Discovery 相关依赖,将 Nacos 作为注册中心,并实现对其的自动配置 -->
67+
<dependency>
68+
<groupId>com.alibaba.cloud</groupId>
69+
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
70+
</dependency>
71+
72+
<!-- 引入 Spring Cloud Alibaba Dubbo 相关依赖,实现呢 Dubbo 进行远程调用,并实现对其的自动配置 -->
73+
<dependency>
74+
<groupId>com.alibaba.cloud</groupId>
75+
<artifactId>spring-cloud-starter-dubbo</artifactId>
76+
</dependency>
77+
</dependencies>
78+
79+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package cn.iocoder.springcloud.labx14.consumerdemo;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
6+
@SpringBootApplication
7+
public class ConsumerApplication {
8+
9+
public static void main(String[] args) {
10+
SpringApplication.run(ConsumerApplication.class);
11+
}
12+
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package cn.iocoder.springcloud.labx14.consumerdemo.controller;
2+
3+
import cn.iocoder.springcloud.labx14.api.UserService;
4+
import org.apache.dubbo.config.annotation.Reference;
5+
import org.springframework.web.bind.annotation.GetMapping;
6+
import org.springframework.web.bind.annotation.RequestMapping;
7+
import org.springframework.web.bind.annotation.RequestParam;
8+
import org.springframework.web.bind.annotation.RestController;
9+
10+
@RestController
11+
@RequestMapping("/user")
12+
public class UserController {
13+
14+
@Reference(protocol = "dubbo", version = "1.0.0")
15+
private UserService userService;
16+
17+
@GetMapping("/get")
18+
public String get(@RequestParam("id") Integer id) {
19+
return userService.get(id);
20+
}
21+
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
server:
2+
port: 8079
3+
4+
spring:
5+
application:
6+
name: demo-consumer
7+
cloud:
8+
# Nacos 作为注册中心的配置项
9+
nacos:
10+
discovery:
11+
server-addr: 127.0.0.1:8848
12+
13+
# Dubbo 配置项,对应 DubboConfigurationProperties 类
14+
dubbo:
15+
# Dubbo 服务注册中心配置,对应 RegistryConfig 类
16+
registry:
17+
address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
18+
# Spring Cloud Alibaba Dubbo 专属配置项,对应 DubboCloudProperties 类
19+
cloud:
20+
subscribed-services: demo-provider # 设置订阅的应用列表,默认为 * 订阅所有应用。
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<artifactId>labx-14-sc-skywalking-dubbo</artifactId>
7+
<groupId>cn.iocoder.springboot.labs</groupId>
8+
<version>1.0-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<artifactId>labx-14-sc-skywalking-dubbo-provider</artifactId>
13+
14+
<properties>
15+
<maven.compiler.target>1.8</maven.compiler.target>
16+
<maven.compiler.source>1.8</maven.compiler.source>
17+
<spring.boot.version>2.2.4.RELEASE</spring.boot.version>
18+
<spring.cloud.version>Hoxton.SR1</spring.cloud.version>
19+
<spring.cloud.alibaba.version>2.2.0.RELEASE</spring.cloud.alibaba.version>
20+
</properties>
21+
22+
<!--
23+
引入 Spring Boot、Spring Cloud、Spring Cloud Alibaba 三者 BOM 文件,进行依赖版本的管理,防止不兼容。
24+
在 https://dwz.cn/mcLIfNKt 文章中,Spring Cloud Alibaba 开发团队推荐了三者的依赖关系
25+
-->
26+
<dependencyManagement>
27+
<dependencies>
28+
<dependency>
29+
<groupId>org.springframework.boot</groupId>
30+
<artifactId>spring-boot-starter-parent</artifactId>
31+
<version>${spring.boot.version}</version>
32+
<type>pom</type>
33+
<scope>import</scope>
34+
</dependency>
35+
<dependency>
36+
<groupId>org.springframework.cloud</groupId>
37+
<artifactId>spring-cloud-dependencies</artifactId>
38+
<version>${spring.cloud.version}</version>
39+
<type>pom</type>
40+
<scope>import</scope>
41+
</dependency>
42+
<dependency>
43+
<groupId>com.alibaba.cloud</groupId>
44+
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
45+
<version>${spring.cloud.alibaba.version}</version>
46+
<type>pom</type>
47+
<scope>import</scope>
48+
</dependency>
49+
</dependencies>
50+
</dependencyManagement>
51+
52+
<dependencies>
53+
<!-- 引入定义的 Dubbo API 接口 -->
54+
<dependency>
55+
<groupId>cn.iocoder.springboot.labs</groupId>
56+
<artifactId>labx-14-sc-skywalking-dubbo-api</artifactId>
57+
<version>1.0-SNAPSHOT</version>
58+
</dependency>
59+
60+
<!-- 引入 Spring Cloud Alibaba Nacos Discovery 相关依赖,将 Nacos 作为注册中心,并实现对其的自动配置 -->
61+
<dependency>
62+
<groupId>com.alibaba.cloud</groupId>
63+
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
64+
</dependency>
65+
66+
<!-- 引入 Spring Cloud Alibaba Dubbo 相关依赖,实现呢 Dubbo 进行远程调用,并实现对其的自动配置 -->
67+
<dependency>
68+
<groupId>com.alibaba.cloud</groupId>
69+
<artifactId>spring-cloud-starter-dubbo</artifactId>
70+
</dependency>
71+
</dependencies>
72+
73+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package cn.iocoder.springcloud.labx14.providerdemo;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
6+
@SpringBootApplication
7+
public class ProviderApplication {
8+
9+
public static void main(String[] args) {
10+
SpringApplication.run(ProviderApplication.class);
11+
}
12+
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package cn.iocoder.springcloud.labx14.providerdemo.service;
2+
3+
4+
import cn.iocoder.springcloud.labx14.api.UserService;
5+
6+
@org.apache.dubbo.config.annotation.Service(protocol = "dubbo", version = "1.0.0")
7+
public class UserServiceImpl implements UserService {
8+
9+
@Override
10+
public String get(Integer id) {
11+
return "user:" + id;
12+
}
13+
14+
}

0 commit comments

Comments
 (0)