diff --git a/.gitignore b/.gitignore index b7ec3808ad3263e034de9367b825c1f5a4b8e77c..1df5423129c113c047c3f80363560c31c9c83c2a 100644 --- a/.gitignore +++ b/.gitignore @@ -132,4 +132,7 @@ cloud-config-client-3355/target/ cloud-config-client-3356/target/ cloud-stream-provider-rabbitmq8801/target/ cloud-stream-consumer-rabbitmq8802/target/ -cloud-stream-consumer-rabbitmq8803/target/ \ No newline at end of file +cloud-stream-consumer-rabbitmq8803/target/ +cloudalibaba-config-nacos-client3377/target/ +cloudalibaba-provider-nacos-payment9001/target/ +cloudalibaba-provider-nacos-payment9002/target/ \ No newline at end of file diff --git a/README.md b/README.md index 4c8af6340b5ff42fd3f3083e4d2cdae806dea147..926a377977888f7fe7513cad4e88d92b49cf1d9b 100644 --- a/README.md +++ b/README.md @@ -14,29 +14,32 @@ Maven:3.5及以上 MySQL:5.7及以上 #### 项目结构 -| 项目名 | 用途 | 所用技术 | -| ------------------------------------ | :---------------------------------------------- | ------------------------------------------------------------ | -| cloud-api-commons | 公共代码部分(返回结果集、实体等) | \ | -| cloud-consumer-consul-order80 | 消费方通过Consul调用服务方 | 注册中心(Consul)、远程调用(RestTemplate) | -| cloud-consumer-feign-order80 | 消费方通过feign远程调用服务方 | 服务调用(Openfeign)、注册中心(EurekaClient) | -| cloud-consumer-order80 | 消费方通过Eureka调用服务方等示例 | 注册中心(Eureka)、远程调用(RestTemplate)、链路追踪(Sleuth) | -| cloud-consumer-zk-order80 | 消费方通过Zk调用服务方 | 注册中心(Zk)、远程调用(RestTemplate) | -| cloud-eureka-server7001 | Eureka服务端1 | 注册中心(EurekaServer) | -| cloud-eureka-server7002 | Eureka服务端2 | 注册中心(EurekaServer) | -| cloud-provider-consul-payment8006 | 服务方通过Consul注册服务 | 注册中心(Consul) | -| cloud-provider-payment8001 | 服务方通过Eureka注册服务 | 注册中心(Euraka)、链路追踪(Sleuth) | -| cloud-provider-payment8002 | 服务方通过Eureka注册服务 | 注册中心(Euraka) | -| cloud-provider-zk-payment8004 | 服务方通过Zk注册服务 | 注册中心(Zk) | -| cloud-provider-hystrix-payment8001 | 服务方通过Hystrix服务降级和熔断 | 服务降级和熔断(Hystrix)、服务监控(Actuator) | -| cloud-consumer-feign-hystrix-order80 | 消费方消费方通过feign远程调用服务方带降级和服务 | 服务降级和熔断(Hystrix)、服务调用(Openfeign) | -| cloud-consumer-hystrix-dashboard9001 | Hystrix监控仪表盘 | 服务监控(Hystrix) | -| cloud-gateway-gateway9527 | 网关服务GateWay | 网关(GateWay) | -| cloud-config-center-3344 | 配置中心服务端 | 配置中心(Config-Server)、服务总线(BUS) | -| cloud-config-client-3355 | 配置中心客户端1 | 配置中心(Config)、服务总线(BUS) | -| cloud-config-client-3356 | 配置中心客户端1 | 配置中心(Config)、服务总线(BUS) | -| cloud-stream-provider-rabbitmq8801 | 消息驱动发送方 | 消息驱动(Stream) | -| cloud-stream-provider-rabbitmq8802 | 消息驱动接受方1 | 消息驱动(Stream) | -| cloud-stream-consumer-rabbitmq8803 | 消息驱动接受方2 | 消息驱动(Stream) | +| 项目名 | 用途 | 所用技术 | +| --------------------------------------- | :---------------------------------------------- | ------------------------------------------------------------ | +| cloud-api-commons | 公共代码部分(返回结果集、实体等) | \ | +| cloud-consumer-consul-order80 | 消费方通过Consul调用服务方 | 注册中心(Consul)、远程调用(RestTemplate) | +| cloud-consumer-feign-order80 | 消费方通过feign远程调用服务方 | 服务调用(Openfeign)、注册中心(EurekaClient) | +| cloud-consumer-order80 | 消费方通过Eureka调用服务方等示例 | 注册中心(Eureka)、远程调用(RestTemplate)、链路追踪(Sleuth) | +| cloud-consumer-zk-order80 | 消费方通过Zk调用服务方 | 注册中心(Zk)、远程调用(RestTemplate) | +| cloud-eureka-server7001 | Eureka服务端1 | 注册中心(EurekaServer) | +| cloud-eureka-server7002 | Eureka服务端2 | 注册中心(EurekaServer) | +| cloud-provider-consul-payment8006 | 服务方通过Consul注册服务 | 注册中心(Consul) | +| cloud-provider-payment8001 | 服务方通过Eureka注册服务 | 注册中心(Euraka)、链路追踪(Sleuth) | +| cloud-provider-payment8002 | 服务方通过Eureka注册服务 | 注册中心(Euraka) | +| cloud-provider-zk-payment8004 | 服务方通过Zk注册服务 | 注册中心(Zk) | +| cloud-provider-hystrix-payment8001 | 服务方通过Hystrix服务降级和熔断 | 服务降级和熔断(Hystrix)、服务监控(Actuator) | +| cloud-consumer-feign-hystrix-order80 | 消费方消费方通过feign远程调用服务方带降级和服务 | 服务降级和熔断(Hystrix)、服务调用(Openfeign) | +| cloud-consumer-hystrix-dashboard9001 | Hystrix监控仪表盘 | 服务监控(Hystrix) | +| cloud-gateway-gateway9527 | 网关服务GateWay | 网关(GateWay) | +| cloud-config-center-3344 | 配置中心服务端 | 配置中心(Config-Server)、服务总线(BUS) | +| cloud-config-client-3355 | 配置中心客户端1 | 配置中心(Config)、服务总线(BUS) | +| cloud-config-client-3356 | 配置中心客户端1 | 配置中心(Config)、服务总线(BUS) | +| cloud-stream-provider-rabbitmq8801 | 消息驱动发送方 | 消息驱动(Stream) | +| cloud-stream-provider-rabbitmq8802 | 消息驱动接受方1 | 消息驱动(Stream) | +| cloud-stream-consumer-rabbitmq8803 | 消息驱动接受方2 | 消息驱动(Stream) | +| cloudalibaba-config-nacos-client3377 | 配置中心客户端Nacos | 配置中心(Nacos)、服务注册(Nacos) | +| cloudalibaba-provider-nacos-payment9001 | 消费方通过Nacos注册服务 | 服务注册(Nacos) | +| cloudalibaba-provider-nacos-payment9002 | 消费方通过Nacos注册服务 | 服务注册(Nacos) | diff --git a/cloudalibaba-config-nacos-client3377/pom.xml b/cloudalibaba-config-nacos-client3377/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..cf356c03cf70e43eb6cc1c4248e547d410f168bb --- /dev/null +++ b/cloudalibaba-config-nacos-client3377/pom.xml @@ -0,0 +1,56 @@ + + + + 2020SpringCloud + com.lcry + 1.0-SNAPSHOT + + 4.0.0 + + + + cloudalibaba-config-nacos-client3377 + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + \ No newline at end of file diff --git a/cloudalibaba-config-nacos-client3377/src/main/java/com/lcry/springcloudalibaba/ConfigNacosMain3377.java b/cloudalibaba-config-nacos-client3377/src/main/java/com/lcry/springcloudalibaba/ConfigNacosMain3377.java new file mode 100644 index 0000000000000000000000000000000000000000..64334a935ea7e6bae60f343b60cccef6484668e6 --- /dev/null +++ b/cloudalibaba-config-nacos-client3377/src/main/java/com/lcry/springcloudalibaba/ConfigNacosMain3377.java @@ -0,0 +1,19 @@ +package com.lcry.springcloudalibaba; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * ConfigNacosMain3344 + * + * @author lcry + * @date 2020/03/16 17:49 + */ +@SpringBootApplication +@EnableDiscoveryClient +public class ConfigNacosMain3377 { + public static void main(String[] args) { + SpringApplication.run(ConfigNacosMain3377.class, args); + } +} \ No newline at end of file diff --git a/cloudalibaba-config-nacos-client3377/src/main/java/com/lcry/springcloudalibaba/controller/NacosClientController.java b/cloudalibaba-config-nacos-client3377/src/main/java/com/lcry/springcloudalibaba/controller/NacosClientController.java new file mode 100644 index 0000000000000000000000000000000000000000..dddcf6907ce0c2e145e00ded79027ca67c84ff86 --- /dev/null +++ b/cloudalibaba-config-nacos-client3377/src/main/java/com/lcry/springcloudalibaba/controller/NacosClientController.java @@ -0,0 +1,24 @@ +package com.lcry.springcloudalibaba.controller; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * NacosClientController + * + * @author lcry + * @date 2020/03/16 17:56 + */ +@RestController +@RefreshScope //支持Nacos的动态刷新功能。 +public class NacosClientController { + @Value("${config.info}") //通过nacos配置中心获取文件 + private String configInfo; + + @GetMapping("/config/info") + public String getConfigInfo() { + return configInfo; + } +} \ No newline at end of file diff --git a/cloudalibaba-config-nacos-client3377/src/main/resources/application.yml b/cloudalibaba-config-nacos-client3377/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..44fb495829448f96ac0f92ac36fa4234ecce647b --- /dev/null +++ b/cloudalibaba-config-nacos-client3377/src/main/resources/application.yml @@ -0,0 +1,6 @@ +#激活配置文件选项 +spring: + profiles: + active: dev # 表示开发环境 + #active: test # 表示测试环境 + #active: prod # 表示生产环境 \ No newline at end of file diff --git a/cloudalibaba-config-nacos-client3377/src/main/resources/bootstrap.yml b/cloudalibaba-config-nacos-client3377/src/main/resources/bootstrap.yml new file mode 100644 index 0000000000000000000000000000000000000000..698a51393825b561210414dbd2d38292a91d5fa9 --- /dev/null +++ b/cloudalibaba-config-nacos-client3377/src/main/resources/bootstrap.yml @@ -0,0 +1,20 @@ +# nacos配置 +server: + port: 3377 + +spring: + application: + name: nacos-config-client + cloud: + nacos: + discovery: + server-addr: localhost:8848 #Nacos服务注册中心地址 + config: + server-addr: localhost:8848 #Nacos作为配置中心地址 + namespace: Test-NameSpace-HA1 #命名空间ID,nacos1.2可以自定义 + group: DEV_GROUP #分组ID + file-extension: yaml #指定yaml格式的配置 +# +#命名规范: +# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension} +# nacos-config-client-dev.yaml \ No newline at end of file diff --git a/cloudalibaba-provider-nacos-payment9001/pom.xml b/cloudalibaba-provider-nacos-payment9001/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..340579c8e5cd9370760abfd5662ce97f9fad0158 --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9001/pom.xml @@ -0,0 +1,50 @@ + + + + 2020SpringCloud + com.lcry + 1.0-SNAPSHOT + + 4.0.0 + + + cloudalibaba-provider-nacos-payment9001 + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + \ No newline at end of file diff --git a/cloudalibaba-provider-nacos-payment9001/src/main/java/com/lcry/springcloudalibaba/NacosPaymentMain9001.java b/cloudalibaba-provider-nacos-payment9001/src/main/java/com/lcry/springcloudalibaba/NacosPaymentMain9001.java new file mode 100644 index 0000000000000000000000000000000000000000..5d490af80b2a40164c354a03ef0ccd2e9a63aab5 --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9001/src/main/java/com/lcry/springcloudalibaba/NacosPaymentMain9001.java @@ -0,0 +1,20 @@ +package com.lcry.springcloudalibaba; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * NacosPaymentMain9001 + * + * @author lcry + * @date 2020/03/16 18:03 + */ +@EnableDiscoveryClient +@SpringBootApplication +public class NacosPaymentMain9001 { + public static void main(String[] args) { + SpringApplication.run(NacosPaymentMain9001.class,args); + } + +} diff --git a/cloudalibaba-provider-nacos-payment9001/src/main/java/com/lcry/springcloudalibaba/controller/PaymentController.java b/cloudalibaba-provider-nacos-payment9001/src/main/java/com/lcry/springcloudalibaba/controller/PaymentController.java new file mode 100644 index 0000000000000000000000000000000000000000..67f69a2c81b0f1647ae5c8964b3d0e468f2ecc0d --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9001/src/main/java/com/lcry/springcloudalibaba/controller/PaymentController.java @@ -0,0 +1,21 @@ +package com.lcry.springcloudalibaba.controller; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 测试服务注册到Nacos注册中心 + */ +@RestController +public class PaymentController { + @Value("${server.port}") + private String serverPort; + + @GetMapping(value = "/payment/nacos/{id}") + public String getPayment(@PathVariable("id") Integer id) { + return "nacos registry, serverPort: " + serverPort + "\t id" + id; + } +} diff --git a/cloudalibaba-provider-nacos-payment9001/src/main/resources/application.yml b/cloudalibaba-provider-nacos-payment9001/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..c2f1caf455e3a7c6d0be9d467c0c8eadab890717 --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9001/src/main/resources/application.yml @@ -0,0 +1,16 @@ +server: + port: 9001 + +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 #配置Nacos地址,注册服务到Nacos + +management: + endpoints: + web: + exposure: + include: '*' \ No newline at end of file diff --git a/cloudalibaba-provider-nacos-payment9002/pom.xml b/cloudalibaba-provider-nacos-payment9002/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..f1f1db05f5aead18a062376738211ba52088ea29 --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9002/pom.xml @@ -0,0 +1,49 @@ + + + + 2020SpringCloud + com.lcry + 1.0-SNAPSHOT + + 4.0.0 + + + cloudalibaba-provider-nacos-payment9002 + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/cloudalibaba-provider-nacos-payment9002/src/main/java/com/lcry/springcloudalibaba/NacosPaymentMain9002.java b/cloudalibaba-provider-nacos-payment9002/src/main/java/com/lcry/springcloudalibaba/NacosPaymentMain9002.java new file mode 100644 index 0000000000000000000000000000000000000000..d50b18f700a5d643bd3ded3b9f5fad21b0fcfae5 --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9002/src/main/java/com/lcry/springcloudalibaba/NacosPaymentMain9002.java @@ -0,0 +1,20 @@ +package com.lcry.springcloudalibaba; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * NacosPaymentMain9002 + * + * @author lcry + * @date 2020/03/16 18:03 + */ +@EnableDiscoveryClient +@SpringBootApplication +public class NacosPaymentMain9002 { + public static void main(String[] args) { + SpringApplication.run(NacosPaymentMain9002.class,args); + } + +} diff --git a/cloudalibaba-provider-nacos-payment9002/src/main/java/com/lcry/springcloudalibaba/controller/PaymentController.java b/cloudalibaba-provider-nacos-payment9002/src/main/java/com/lcry/springcloudalibaba/controller/PaymentController.java new file mode 100644 index 0000000000000000000000000000000000000000..67f69a2c81b0f1647ae5c8964b3d0e468f2ecc0d --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9002/src/main/java/com/lcry/springcloudalibaba/controller/PaymentController.java @@ -0,0 +1,21 @@ +package com.lcry.springcloudalibaba.controller; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 测试服务注册到Nacos注册中心 + */ +@RestController +public class PaymentController { + @Value("${server.port}") + private String serverPort; + + @GetMapping(value = "/payment/nacos/{id}") + public String getPayment(@PathVariable("id") Integer id) { + return "nacos registry, serverPort: " + serverPort + "\t id" + id; + } +} diff --git a/cloudalibaba-provider-nacos-payment9002/src/main/resources/application.yml b/cloudalibaba-provider-nacos-payment9002/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..369e28842c1bfc88d8fa32414884ffa6487ecc22 --- /dev/null +++ b/cloudalibaba-provider-nacos-payment9002/src/main/resources/application.yml @@ -0,0 +1,16 @@ +server: + port: 9002 + +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 #配置Nacos地址,注册服务到Nacos +#保留端点 +management: + endpoints: + web: + exposure: + include: '*' \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1301413bff232958eec2b8dda5c755fbc690f821..af2ab4659cffbf891f32a618dcc54edf6e0704ed 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,9 @@ cloud-stream-provider-rabbitmq8801 cloud-stream-consumer-rabbitmq8802 cloud-stream-consumer-rabbitmq8803 + cloudalibaba-config-nacos-client3377 + cloudalibaba-provider-nacos-payment9001 + cloudalibaba-provider-nacos-payment9002 pom