From 02351e55fafc4127e393b070522dd5b201e6615f Mon Sep 17 00:00:00 2001 From: YunaiV <> Date: Mon, 23 Mar 2020 08:30:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20spring=20boot=20x=20skywal?= =?UTF-8?q?king=20=E9=93=BE=E8=B7=AF=E8=BF=BD=E8=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lab-39-skywalking-dubbo-api/pom.xml | 15 ++++++ .../lab39/skywalkingdemo/api/UserService.java | 16 ++++++ .../lab39/skywalkingdemo/package-info.java | 1 + .../lab-39-skywalking-dubbo-consumer/pom.xml | 54 +++++++++++++++++++ .../consumerdemo/ConsumerApplication.java | 13 +++++ .../controller/UserController.java | 22 ++++++++ .../src/main/resources/application.yaml | 15 ++++++ .../lab-39-skywalking-dubbo-provider/pom.xml | 54 +++++++++++++++++++ .../providerdemo/ProviderApplication.java | 13 +++++ .../providerdemo/service/UserServiceImpl.java | 13 +++++ .../src/main/resources/application.yaml | 19 +++++++ lab-39/lab-39-skywalking-dubbo/pom.xml | 21 ++++++++ lab-39/pom.xml | 1 + 13 files changed, 257 insertions(+) create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/pom.xml create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/api/UserService.java create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/package-info.java create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/pom.xml create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/ConsumerApplication.java create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/controller/UserController.java create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/resources/application.yaml create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/pom.xml create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/ProviderApplication.java create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/service/UserServiceImpl.java create mode 100644 lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/resources/application.yaml create mode 100644 lab-39/lab-39-skywalking-dubbo/pom.xml diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/pom.xml b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/pom.xml new file mode 100644 index 00000000..5986c659 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/pom.xml @@ -0,0 +1,15 @@ + + + + lab-39-skywalking-dubbo + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-39-skywalking-dubbo-api + + + diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/api/UserService.java b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/api/UserService.java new file mode 100644 index 00000000..dcecdcc1 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/api/UserService.java @@ -0,0 +1,16 @@ +package cn.iocoder.springboot.lab39.skywalkingdemo.api; + +/** + * 用户服务 RPC Service 接口 + */ +public interface UserService { + + /** + * 根据指定用户编号,获得用户信息 + * + * @param id 用户编号 + * @return 用户信息 + */ + String get(Integer id); + +} diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/package-info.java b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/package-info.java new file mode 100644 index 00000000..7f0cd7c6 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-api/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/package-info.java @@ -0,0 +1 @@ +package cn.iocoder.springcloud.labx13; diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/pom.xml b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/pom.xml new file mode 100644 index 00000000..83c80b30 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/pom.xml @@ -0,0 +1,54 @@ + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.2.RELEASE + + + 4.0.0 + + lab-39-skywalking-dubbo-consumer + + + + + cn.iocoder.springboot.labs + lab-39-skywalking-dubbo-api + 1.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.apache.dubbo + dubbo + 2.7.4.1 + + + org.apache.dubbo + dubbo-spring-boot-starter + 2.7.4.1 + + + + + org.apache.curator + curator-framework + 2.13.0 + + + org.apache.curator + curator-recipes + 2.13.0 + + + + diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/ConsumerApplication.java b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/ConsumerApplication.java new file mode 100644 index 00000000..b66555a8 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/ConsumerApplication.java @@ -0,0 +1,13 @@ +package cn.iocoder.springboot.lab39.skywalkingdemo.consumerdemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ConsumerApplication { + + public static void main(String[] args) { + SpringApplication.run(ConsumerApplication.class); + } + +} diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/controller/UserController.java b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/controller/UserController.java new file mode 100644 index 00000000..b36e2ffe --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/consumerdemo/controller/UserController.java @@ -0,0 +1,22 @@ +package cn.iocoder.springboot.lab39.skywalkingdemo.consumerdemo.controller; + +import cn.iocoder.springboot.lab39.skywalkingdemo.api.UserService; +import org.apache.dubbo.config.annotation.Reference; +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 { + + @Reference(protocol = "dubbo", version = "1.0.0") + private UserService userService; + + @GetMapping("/get") + public String get(@RequestParam("id") Integer id) { + return userService.get(id); + } + +} diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/resources/application.yaml b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/resources/application.yaml new file mode 100644 index 00000000..07a16aa6 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-consumer/src/main/resources/application.yaml @@ -0,0 +1,15 @@ +server: + port: 8079 + +spring: + application: + name: user-service-consumer + +# dubbo 配置项,对应 DubboConfigurationProperties 配置类 +dubbo: + # Dubbo 应用配置 + application: + name: ${spring.application.name} # 应用名 + # Dubbo 注册中心配置 + registry: + address: zookeeper://127.0.0.1:2181 # 注册中心地址。个鞥多注册中心,可见 http://dubbo.apache.org/zh-cn/docs/user/references/registry/introduction.html 文档。 diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/pom.xml b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/pom.xml new file mode 100644 index 00000000..ec8e7928 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/pom.xml @@ -0,0 +1,54 @@ + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.2.RELEASE + + + 4.0.0 + + lab-39-skywalking-dubbo-provider + + + + + cn.iocoder.springboot.labs + lab-39-skywalking-dubbo-api + 1.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter + + + + + org.apache.dubbo + dubbo + 2.7.4.1 + + + org.apache.dubbo + dubbo-spring-boot-starter + 2.7.4.1 + + + + + org.apache.curator + curator-framework + 2.13.0 + + + org.apache.curator + curator-recipes + 2.13.0 + + + + diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/ProviderApplication.java b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/ProviderApplication.java new file mode 100644 index 00000000..20f56e25 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/ProviderApplication.java @@ -0,0 +1,13 @@ +package cn.iocoder.springboot.lab39.skywalkingdemo.providerdemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ProviderApplication { + + public static void main(String[] args) { + SpringApplication.run(ProviderApplication.class); + } + +} diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/service/UserServiceImpl.java b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/service/UserServiceImpl.java new file mode 100644 index 00000000..ff0847cc --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/java/cn/iocoder/springboot/lab39/skywalkingdemo/providerdemo/service/UserServiceImpl.java @@ -0,0 +1,13 @@ +package cn.iocoder.springboot.lab39.skywalkingdemo.providerdemo.service; + +import cn.iocoder.springboot.lab39.skywalkingdemo.api.UserService; + +@org.apache.dubbo.config.annotation.Service(version = "1.0.0") +public class UserServiceImpl implements UserService { + + @Override + public String get(Integer id) { + return "user:" + id; + } + +} diff --git a/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/resources/application.yaml b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/resources/application.yaml new file mode 100644 index 00000000..658ca0b4 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/lab-39-skywalking-dubbo-provider/src/main/resources/application.yaml @@ -0,0 +1,19 @@ +spring: + application: + name: user-service-provider + +# dubbo 配置项,对应 DubboConfigurationProperties 配置类 +dubbo: + # Dubbo 应用配置 + application: + name: ${spring.application.name} # 应用名 + # Dubbo 注册中心配 + registry: + address: zookeeper://127.0.0.1:2181 # 注册中心地址。个鞥多注册中心,可见 http://dubbo.apache.org/zh-cn/docs/user/references/registry/introduction.html 文档。 + # Dubbo 服务提供者协议配置 + protocol: + port: -1 # 协议端口。使用 -1 表示随机端口。 + name: dubbo # 使用 `dubbo://` 协议。更多协议,可见 http://dubbo.apache.org/zh-cn/docs/user/references/protocol/introduction.html 文档 + # 配置扫描 Dubbo 自定义的 @Service 注解,暴露成 Dubbo 服务提供者 + scan: + base-packages: cn.iocoder.springboot.lab39.skywalkingdemo.providerdemo.service diff --git a/lab-39/lab-39-skywalking-dubbo/pom.xml b/lab-39/lab-39-skywalking-dubbo/pom.xml new file mode 100644 index 00000000..3d338381 --- /dev/null +++ b/lab-39/lab-39-skywalking-dubbo/pom.xml @@ -0,0 +1,21 @@ + + + + lab-39 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-39-skywalking-dubbo + pom + + + lab-39-skywalking-dubbo-api + lab-39-skywalking-dubbo-provider + lab-39-skywalking-dubbo-consumer + + + diff --git a/lab-39/pom.xml b/lab-39/pom.xml index 2ee5e63e..6bc0c89a 100644 --- a/lab-39/pom.xml +++ b/lab-39/pom.xml @@ -27,6 +27,7 @@ lab-39-trace-annotations lab-39-opentracing lab-39-async + lab-39-skywalking-dubbo