From 058fcbf14daa7c22bae119050b25f7fb60f053de Mon Sep 17 00:00:00 2001 From: root <1019758997@qq.com> Date: Sun, 9 Jan 2022 14:40:59 +0800 Subject: [PATCH] alibaba nacos Signed-off-by: root <1019758997@qq.com> --- .../springcloud/ConfigClientController.java | 24 ++++++ .../springcloud/ConfigClientController.java | 23 ++++++ .../springcloud/OrderHystrixController.java | 66 +++++++++++++++ .../springcloud/OrderFeignController.java | 27 +++++++ .../service/PaymentFeignService.java | 4 +- cloud-consumer-order80/pom.xml | 4 + .../atguigu/springcloud/OrderController.java | 80 +++++++++++++++++++ .../com/atguigu/springcloud/OrderMain80.java | 6 +- .../config/ApplicationContext.java | 2 +- .../src/main/resources/application.yml | 7 +- .../target/classes/application.yml | 7 +- .../springcloud/OrderConsulController.java | 21 +++++ .../springcloud/OrderZKController.java | 21 +++++ .../atguigu/springcloud/EurekaMain7001.java | 2 +- .../atguigu/springcloud/GateWayMain9527.java | 5 +- .../config/MyLogGateWayFilter.java | 10 +-- .../springcloud/PaymentController.java | 43 ++++++++++ .../springcloud/service/PaymentService.java | 2 + .../springcloud/PaymentController.java | 80 +++++++++++++++++++ .../atguigu/springcloud/PaymentMain8001.java | 1 + .../src/main/resources/application.yml | 5 ++ .../target/classes/application.yml | 5 ++ .../springcloud/PaymentController.java | 49 ++++++++++++ .../springcloud/PaymentController.java | 19 +++++ .../atguigu/springcloud/PaymentMain8004.java | 3 +- .../springcloud/PaymentController.java | 19 +++++ .../cloud-stream-rabbitmq-consumer8802.iml | 22 +++++ cloud-stream-rabbitmq-consumer8802/pom.xml | 48 +++++++++++ .../ReceiveMessageListenerController.java | 24 ++++++ .../atguigu/springcloud/StreamMQMain8802.java | 12 +++ .../src/main/resources/application.yml | 32 ++++++++ .../target/classes/application.yml | 32 ++++++++ .../web/WEB-INF/web.xml | 6 ++ .../cloud-stream-rabbitmq-consumer8803.iml | 2 + cloud-stream-rabbitmq-consumer8803/pom.xml | 48 +++++++++++ .../atguigu/springcloud/StreamMQMain8803.java | 11 +++ .../ReceiveMessageListenerController.java | 24 ++++++ .../src/main/resources/application.yml | 32 ++++++++ .../target/classes/application.yml | 32 ++++++++ .../SendMessageInfoController.java | 19 +++++ .../src/main/resources/application.yml | 6 +- .../target/classes/application.yml | 6 +- .../cloudalibaba-consumer-nacos-order83.iml | 2 + cloudalibaba-consumer-nacos-order83/pom.xml | 46 +++++++++++ .../springcloud/alibaba/OrderNacosMain83.java | 13 +++ .../config/ApplicationContextConfig.java | 17 ++++ .../controller/OrderNacosController.java | 25 ++++++ .../src/main/resources/application.yml | 11 +++ .../target/classes/application.yml | 11 +++ .../cloudalibaba-provider-payment9001.iml | 2 + cloudalibaba-provider-payment9001/pom.xml | 46 +++++++++++ .../springcloud/alibaba/PaymentMain9001.java | 13 +++ .../alibaba/controller/PaymentController.java | 19 +++++ .../src/main/resources/application.yml | 14 ++++ .../target/classes/application.yml | 14 ++++ .../cloudalibaba-provider-payment9002.iml | 2 + cloudalibaba-provider-payment9002/pom.xml | 46 +++++++++++ .../springcloud/alibaba/PaymentMain9002.java | 13 +++ .../alibaba/controller/PaymentController.java | 19 +++++ .../src/main/resources/application.yml | 14 ++++ .../target/classes/application.yml | 14 ++++ .../cloudalibaba-provider-payment9003.iml | 2 + cloudalibaba-provider-payment9003/pom.xml | 67 ++++++++++++++++ .../springcloud/alibaba/PaymentMain9003.java | 13 +++ .../alibaba/controller/PaymentController.java | 23 ++++++ .../src/main/resources/application.yml | 14 ++++ .../target/classes/application.yml | 14 ++++ pom.xml | 9 +++ 68 files changed, 1353 insertions(+), 21 deletions(-) create mode 100644 cloud-config-client-3355/src/main/java/com/atguigu/springcloud/ConfigClientController.java create mode 100644 cloud-config-client-3366/src/main/java/com/atguigu/springcloud/ConfigClientController.java create mode 100644 cloud-consumer-feign-hystrix-order80/src/main/java/com/atguigu/springcloud/OrderHystrixController.java create mode 100644 cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/OrderFeignController.java create mode 100644 cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderController.java create mode 100644 cloud-consumerconsul-order80/src/main/java/com/atguigu/springcloud/OrderConsulController.java create mode 100644 cloud-consumerzk-order80/src/main/java/com/atguigu/springcloud/OrderZKController.java create mode 100644 cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java create mode 100644 cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java create mode 100644 cloud-provider-payment8002/src/main/java/com/atguigu/springcloud/PaymentController.java create mode 100644 cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentController.java create mode 100644 cloud-providerconsul-payment8006/src/main/java/com/atguigu/springcloud/PaymentController.java create mode 100644 cloud-stream-rabbitmq-consumer8802/cloud-stream-rabbitmq-consumer8802.iml create mode 100644 cloud-stream-rabbitmq-consumer8802/pom.xml create mode 100644 cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/ReceiveMessageListenerController.java create mode 100644 cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/StreamMQMain8802.java create mode 100644 cloud-stream-rabbitmq-consumer8802/src/main/resources/application.yml create mode 100644 cloud-stream-rabbitmq-consumer8802/target/classes/application.yml create mode 100644 cloud-stream-rabbitmq-consumer8802/web/WEB-INF/web.xml create mode 100644 cloud-stream-rabbitmq-consumer8803/cloud-stream-rabbitmq-consumer8803.iml create mode 100644 cloud-stream-rabbitmq-consumer8803/pom.xml create mode 100644 cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/StreamMQMain8803.java create mode 100644 cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/controller/ReceiveMessageListenerController.java create mode 100644 cloud-stream-rabbitmq-consumer8803/src/main/resources/application.yml create mode 100644 cloud-stream-rabbitmq-consumer8803/target/classes/application.yml create mode 100644 cloud-stream-rabbitmq-provider8801/src/main/java/com/atguigu/springcloud/SendMessageInfoController.java create mode 100644 cloudalibaba-consumer-nacos-order83/cloudalibaba-consumer-nacos-order83.iml create mode 100644 cloudalibaba-consumer-nacos-order83/pom.xml create mode 100644 cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/OrderNacosMain83.java create mode 100644 cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/config/ApplicationContextConfig.java create mode 100644 cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/controller/OrderNacosController.java create mode 100644 cloudalibaba-consumer-nacos-order83/src/main/resources/application.yml create mode 100644 cloudalibaba-consumer-nacos-order83/target/classes/application.yml create mode 100644 cloudalibaba-provider-payment9001/cloudalibaba-provider-payment9001.iml create mode 100644 cloudalibaba-provider-payment9001/pom.xml create mode 100644 cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9001.java create mode 100644 cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java create mode 100644 cloudalibaba-provider-payment9001/src/main/resources/application.yml create mode 100644 cloudalibaba-provider-payment9001/target/classes/application.yml create mode 100644 cloudalibaba-provider-payment9002/cloudalibaba-provider-payment9002.iml create mode 100644 cloudalibaba-provider-payment9002/pom.xml create mode 100644 cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9002.java create mode 100644 cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java create mode 100644 cloudalibaba-provider-payment9002/src/main/resources/application.yml create mode 100644 cloudalibaba-provider-payment9002/target/classes/application.yml create mode 100644 cloudalibaba-provider-payment9003/cloudalibaba-provider-payment9003.iml create mode 100644 cloudalibaba-provider-payment9003/pom.xml create mode 100644 cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9003.java create mode 100644 cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java create mode 100644 cloudalibaba-provider-payment9003/src/main/resources/application.yml create mode 100644 cloudalibaba-provider-payment9003/target/classes/application.yml diff --git a/cloud-config-client-3355/src/main/java/com/atguigu/springcloud/ConfigClientController.java b/cloud-config-client-3355/src/main/java/com/atguigu/springcloud/ConfigClientController.java new file mode 100644 index 0000000..cd64d74 --- /dev/null +++ b/cloud-config-client-3355/src/main/java/com/atguigu/springcloud/ConfigClientController.java @@ -0,0 +1,24 @@ +package com.atguigu.springcloud; + +import lombok.extern.slf4j.Slf4j; +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; + +@RestController +@Slf4j //手动刷新功能 +@RefreshScope //此注解RefreshScope解决每次运维修改配置文件比如gitee上配置信息,客户端3355等频繁重启问题 +public class ConfigClientController { + //注意:此处config.info是https://gitee.com/jike11231/springcloud-config的config-dev.yml中的info内容 + @Value("${config.info}") + private String configInfo; + + @GetMapping("/configInfo") + public String getConfigInfo(){ + return configInfo; + } + + //运维人员修改完gitee配置信息后,手动发送post请求(必须是post),使得3355客户端不用重启获取到最新配置 + //curl -X POST "http://lcoalhost:3355/actuator/refresh" +} diff --git a/cloud-config-client-3366/src/main/java/com/atguigu/springcloud/ConfigClientController.java b/cloud-config-client-3366/src/main/java/com/atguigu/springcloud/ConfigClientController.java new file mode 100644 index 0000000..d053e96 --- /dev/null +++ b/cloud-config-client-3366/src/main/java/com/atguigu/springcloud/ConfigClientController.java @@ -0,0 +1,23 @@ +package com.atguigu.springcloud; + +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; + +@RestController +@RefreshScope +public class ConfigClientController { + + @Value("${server.port}") + private String serverPort; + + @Value("${config.info}") + private String configInfo; + + @GetMapping("/configInfo") + public String configInfo(){ + return "serverPort: " +serverPort+ "\t\n\n configInfo: "+ configInfo; + } + +} diff --git a/cloud-consumer-feign-hystrix-order80/src/main/java/com/atguigu/springcloud/OrderHystrixController.java b/cloud-consumer-feign-hystrix-order80/src/main/java/com/atguigu/springcloud/OrderHystrixController.java new file mode 100644 index 0000000..748dd07 --- /dev/null +++ b/cloud-consumer-feign-hystrix-order80/src/main/java/com/atguigu/springcloud/OrderHystrixController.java @@ -0,0 +1,66 @@ +package com.atguigu.springcloud; + +import com.netflix.hystrix.contrib.javanica.annotation.DefaultProperties; +import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; +import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; +import com.atguigu.springcloud.service.PaymentHystrixService; +import javax.annotation.Resource; +import java.util.concurrent.TimeUnit; + +@RestController +@Slf4j +@DefaultProperties(defaultFallback = "payment_Global_FallbackMethod") +public class OrderHystrixController { + + @Resource + private PaymentHystrixService paymentHystrixService; + + @GetMapping("/consumer/payment/hystrix/ok/{id}") + public String paymentInfo_OK(@PathVariable("id") Integer id){ + String result = paymentHystrixService.paymentInfo_OK(id); + return result; + } + +// @GetMapping("/consumer/payment/hystrix/timeout/{id}") +// public String paymentInfo_TimeOut(@PathVariable("id") Integer id){ +// String result = paymentHystrixService.paymentInfo_TimeOut(id); +// return result; +// } + + @GetMapping("/consumer/payment/hystrix/timeout/{id}") + /* + @HystrixCommand(fallbackMethod = "PaymentTimeOutFallbackMethod",commandProperties = { + @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value = "3000") + }) + */ + //如果HystrixCommand标注的类中执行超时3秒,则执行fallbackMethod的方法PaymentTimeOutFallbackMethod,兜底 + + //设置服务降级注解,如果不指名具体fallbackMethod,则执行defaultFallback + //@HystrixCommand + public String paymentInfo_TimeOut(@PathVariable("id") Integer id){ + /*故意设置5秒超时 + int timeUmber = 5; + try { + TimeUnit.SECONDS.sleep(timeUmber); + } catch (Exception e) { + e.printStackTrace(); + } + */ + int age = 10/0; + String result = paymentHystrixService.paymentInfo_TimeOut(id); + return result; + } + + public String PaymentTimeOutFallbackMethod(@PathVariable("id") Integer id) { + return "我是消费者80,对方支付系统繁忙请10秒钟后再试或者自己运行出错请检查自己,o(╥﹏╥)o"; + } + + //下面是全局fallback方法 + public String payment_Global_FallbackMethod(){ + return "Global异常处理信息,请稍后再试,o(╥﹏╥)o"; + } +} diff --git a/cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/OrderFeignController.java b/cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/OrderFeignController.java new file mode 100644 index 0000000..539367b --- /dev/null +++ b/cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/OrderFeignController.java @@ -0,0 +1,27 @@ +package com.atguigu.springcloud; + +import com.atguigu.springcloud.entities.CommonResult; +import com.atguigu.springcloud.entities.Payment; +import com.atguigu.springcloud.service.PaymentFeignService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class OrderFeignController { + @Autowired + private PaymentFeignService paymentFeignService; + + @GetMapping("/consumer/payment/get/{id}") + public CommonResult getPaymentById(@PathVariable("id") Long id){ + return paymentFeignService.getPaymentById(id); + } + + @GetMapping(value = "/consumer/payment/feign/timeout") + public String paymentFeignTimeOut(){ + //客户端默认等待1秒钟 + return paymentFeignService.paymentFeignTimeOut(); + } + +} diff --git a/cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/service/PaymentFeignService.java b/cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/service/PaymentFeignService.java index f894eee..a68d64c 100644 --- a/cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/service/PaymentFeignService.java +++ b/cloud-consumer-feign-order80/src/main/java/com/atguigu/springcloud/service/PaymentFeignService.java @@ -12,9 +12,9 @@ import org.springframework.web.bind.annotation.PathVariable; //使用方式:微服务调用接口+注解 即->提供方8001微服务调用接口PaymentService+@FeignClient public interface PaymentFeignService { - @GetMapping("/payment/get/{id}") + @GetMapping("/payment/get/{id}")//这是8001微服务接口地址 CommonResult getPaymentById(@PathVariable("id") Long id); - @GetMapping(value = "/payment/feign/timeout") + @GetMapping(value = "/payment/feign/timeout")//超时控制 String paymentFeignTimeOut(); } diff --git a/cloud-consumer-order80/pom.xml b/cloud-consumer-order80/pom.xml index 39e40bf..b7af18a 100644 --- a/cloud-consumer-order80/pom.xml +++ b/cloud-consumer-order80/pom.xml @@ -16,6 +16,10 @@ cloud-api-commons 1.0-SNAPSHOT + + org.springframework.cloud + spring-cloud-starter-zipkin + org.springframework.boot spring-boot-starter-web diff --git a/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderController.java b/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderController.java new file mode 100644 index 0000000..57edf83 --- /dev/null +++ b/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderController.java @@ -0,0 +1,80 @@ +package com.atguigu.springcloud; + +import com.atguigu.springcloud.entities.CommonResult; +import com.atguigu.springcloud.entities.Payment; +import com.atguigu.springcloud.lb.LoadBalance; +import com.atguigu.springcloud.lb.MyLB; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; +import javax.annotation.Resource; +import java.net.URI; +import java.util.List; + +@RestController +@Slf4j +public class OrderController { + + @Autowired + private LoadBalance loadBalance; + + @Autowired + private DiscoveryClient discoveryClient; + //public static final String PAYMENT_URL = "http://localhost:8001"; + public static final String PAYMENT_URL = "http://CLOUD-PAYMENT-SERVICE";//负载均衡 + + @Resource + private RestTemplate restTemplate; + //使用方式(url,requestMap,responseBean.class)三个参数分别代表rest请求地址、请求参数、http响应转换成的对象类型 + //RestTemplate提供了多种便捷访问远程Http服务的方法, + //是一种简单便捷的访问restful服务的模板类,是spring提供的用于访问Rest服务的客户端模板工具集。 + + //getForObject返回响应体重数据转化成的对象,即json + //getForEntity返回对象是ResponseEntity对象,包含了响应中的一些重要信息,比如响应头、响应状态码、响应体等 + + @GetMapping("/consumer/payment/create") + public CommonResult create(Payment payment){ + return restTemplate.postForObject(PAYMENT_URL+"/payment/create",payment,CommonResult.class); + //return restTemplate.postForEntity(PAYMENT_URL+"/payment/create",payment,CommonResult.class).getBody(); + } + + @GetMapping("/consumer/payment/get/{id}") + public CommonResult getPayment(@PathVariable("id") Long id){ + return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,CommonResult.class); + } + + @GetMapping("/consumer/payment/getForEntity/{id}") + public CommonResult getPayment2(@PathVariable("id") Long id){ + ResponseEntity entity = restTemplate.getForEntity(PAYMENT_URL+"/payment/get"+id,CommonResult.class); + if (entity.getStatusCode().is2xxSuccessful()){//http请求编码2xx比如200 + return entity.getBody(); + }else{ + return new CommonResult(444,"操作失败!"); + } + } + + @GetMapping("/consumer/payment/lb") + public String getPaymentLB(){ + List instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE"); + if (instances == null || instances.size() <= 0) { + return null; + } + ServiceInstance serviceInstance = loadBalance.instance(instances); + URI uri = serviceInstance.getUri(); + + return restTemplate.getForObject(uri + "/payment/lb", String.class); + } + + @GetMapping("/consumer/paymentZipkin80") + public String paymentZipkin80(){ + String result = restTemplate.getForObject("http://localhost:8001"+"/payment/paymentZipkin8001",String.class); + return result; + + } +} diff --git a/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderMain80.java b/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderMain80.java index 4df316b..800d9f2 100644 --- a/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderMain80.java +++ b/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/OrderMain80.java @@ -9,8 +9,12 @@ import org.springframework.cloud.netflix.ribbon.RibbonClient; @SpringBootApplication @EnableEurekaClient //手写负载均衡算法,则注释掉 -//@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class) //修改默认负载均衡策略轮询为随机 +@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class) //修改默认负载均衡策略轮询为随机 public class OrderMain80 { + /*先启动7001 + *再启动8001 + * 然后启动80 + * */ public static void main(String[] args) { SpringApplication.run(OrderMain80.class,args); } diff --git a/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/config/ApplicationContext.java b/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/config/ApplicationContext.java index dac85f9..b62de88 100644 --- a/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/config/ApplicationContext.java +++ b/cloud-consumer-order80/src/main/java/com/atguigu/springcloud/config/ApplicationContext.java @@ -9,7 +9,7 @@ import org.springframework.web.client.RestTemplate; public class ApplicationContext { //@Bean 代替了xml方式配置注入Spring @Bean - //@LoadBalanced 手写负载均衡算法,则注释掉 + //@LoadBalanced //手写负载均衡算法,则注释掉 //开启负载均衡注解,轮询查询8001和8002的EurekaClient public RestTemplate getRestTemplate(){ //RestTemplate提供了多种便捷访问远程http服务的方法 diff --git a/cloud-consumer-order80/src/main/resources/application.yml b/cloud-consumer-order80/src/main/resources/application.yml index 39760b6..1cc4b4a 100644 --- a/cloud-consumer-order80/src/main/resources/application.yml +++ b/cloud-consumer-order80/src/main/resources/application.yml @@ -4,6 +4,11 @@ server: spring: application: name: cloud-order-service + zipkin: + base-url: http://localhost:9411 + sleuth: + sampler: + probability: 1 #采样率值介于0到1之间,1表示全部采集 #将订单服务80微服务发布到2台Eureka集群配置中 eureka: @@ -11,5 +16,5 @@ eureka: register-with-eureka: true #是否将自己注册到注册中心,集群必须设置为true配合ribbon fetch-registry: true #是否从服务端抓取已有的注册信息 service-url: - defaultZone: http://localhost:7001/eureka 单机版 + defaultZone: http://localhost:7001/eureka #单机版 #defaultZone: http://localhost:7001/eureka,http://localhost:7002/eureka #集群版 diff --git a/cloud-consumer-order80/target/classes/application.yml b/cloud-consumer-order80/target/classes/application.yml index 39760b6..1cc4b4a 100644 --- a/cloud-consumer-order80/target/classes/application.yml +++ b/cloud-consumer-order80/target/classes/application.yml @@ -4,6 +4,11 @@ server: spring: application: name: cloud-order-service + zipkin: + base-url: http://localhost:9411 + sleuth: + sampler: + probability: 1 #采样率值介于0到1之间,1表示全部采集 #将订单服务80微服务发布到2台Eureka集群配置中 eureka: @@ -11,5 +16,5 @@ eureka: register-with-eureka: true #是否将自己注册到注册中心,集群必须设置为true配合ribbon fetch-registry: true #是否从服务端抓取已有的注册信息 service-url: - defaultZone: http://localhost:7001/eureka 单机版 + defaultZone: http://localhost:7001/eureka #单机版 #defaultZone: http://localhost:7001/eureka,http://localhost:7002/eureka #集群版 diff --git a/cloud-consumerconsul-order80/src/main/java/com/atguigu/springcloud/OrderConsulController.java b/cloud-consumerconsul-order80/src/main/java/com/atguigu/springcloud/OrderConsulController.java new file mode 100644 index 0000000..3619a13 --- /dev/null +++ b/cloud-consumerconsul-order80/src/main/java/com/atguigu/springcloud/OrderConsulController.java @@ -0,0 +1,21 @@ +package com.atguigu.springcloud; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; +import javax.annotation.Resource; + +@RestController +@Slf4j +public class OrderConsulController { + public static final String INVOK_URL = "http://consul-provider-payment"; + @Resource + private RestTemplate restTemplate; + + @GetMapping("/consumer/payment/consul") + public String paymentInfo(){ + String result = restTemplate.getForObject(INVOK_URL+"/payment/consul",String.class); + return result; + } +} diff --git a/cloud-consumerzk-order80/src/main/java/com/atguigu/springcloud/OrderZKController.java b/cloud-consumerzk-order80/src/main/java/com/atguigu/springcloud/OrderZKController.java new file mode 100644 index 0000000..84f063d --- /dev/null +++ b/cloud-consumerzk-order80/src/main/java/com/atguigu/springcloud/OrderZKController.java @@ -0,0 +1,21 @@ +package com.atguigu.springcloud; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; +import javax.annotation.Resource; + +@RestController +@Slf4j +public class OrderZKController { + public static final String INVOKE_URL = "http://cloud-provider-payment"; + @Resource + private RestTemplate restTemplate; + + @GetMapping("/consumer/payment/zk") + public String paymentInfo(){ + String result = restTemplate.getForObject(INVOKE_URL+"/payment/zk",String.class); + return result; + } +} diff --git a/cloud-eureka-server7001/src/main/java/com/atguigu/springcloud/EurekaMain7001.java b/cloud-eureka-server7001/src/main/java/com/atguigu/springcloud/EurekaMain7001.java index 5e88088..60f067f 100644 --- a/cloud-eureka-server7001/src/main/java/com/atguigu/springcloud/EurekaMain7001.java +++ b/cloud-eureka-server7001/src/main/java/com/atguigu/springcloud/EurekaMain7001.java @@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication -@EnableEurekaServer +@EnableEurekaServer // 这个注解就是启动EurekaServer public class EurekaMain7001 { public static void main(String[] args) { SpringApplication.run(EurekaMain7001.class,args); diff --git a/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/GateWayMain9527.java b/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/GateWayMain9527.java index 8611074..7d3182a 100644 --- a/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/GateWayMain9527.java +++ b/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/GateWayMain9527.java @@ -8,8 +8,9 @@ import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @EnableEurekaClient public class GateWayMain9527 { public static void main(String[] args) { - //启动EurekaMain7001、PaymentMain8001、GateWayMain9527 - //访问http://localhost:9527/payment/get/1 、http://localhost:9527/payment/lb/均可得到正确结果,屏蔽了8001端口 + //启动EurekaMain7001、PaymentMain8001、PaymentMain8002、GateWayMain9527 + //添加网关前:访问http://localhost:8001/payment/get/1 、http://localhost:8001/payment/lb/ + //添加网关后:访问http://localhost:9527/payment/get/1 、http://localhost:9527/payment/lb/均可得到正确结果,屏蔽了8001端口 SpringApplication.run(GateWayMain9527.class,args); } } diff --git a/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/config/MyLogGateWayFilter.java b/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/config/MyLogGateWayFilter.java index 589154a..9e40dca 100644 --- a/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/config/MyLogGateWayFilter.java +++ b/cloud-gateway-gateway9527/src/main/java/com/atguigu/springcloud/config/MyLogGateWayFilter.java @@ -19,11 +19,11 @@ public class MyLogGateWayFilter implements GlobalFilter,Ordered { public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { log.info("*****************come in MyLogGateWayFilter:"+new Date()); String uname = exchange.getRequest().getQueryParams().getFirst("uname"); - if (uname == null) { - log.info("**********用户名为空,非法用户,┭┮﹏┭┮"); - exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE); - return exchange.getResponse().setComplete(); - } +// if (uname == null) { +// log.info("**********用户名为空,非法用户,┭┮﹏┭┮"); +// exchange.getResponse().setStatusCode(HttpStatus.NOT_ACCEPTABLE); +// return exchange.getResponse().setComplete(); +// } return chain.filter(exchange); } diff --git a/cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java b/cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java new file mode 100644 index 0000000..90ae200 --- /dev/null +++ b/cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java @@ -0,0 +1,43 @@ +package com.atguigu.springcloud; + +import com.atguigu.springcloud.service.PaymentService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +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; + +@RestController +@Slf4j +public class PaymentController { + @Autowired + private PaymentService paymentService; + @Value("${server.port}") + private String serverPort; + + //正常访问,肯定ok的方法 + @GetMapping("/payment/hystrix/ok/{id}") + public String paymentInfo_OK(@PathVariable("id") Integer id){ + String result = paymentService.papymentInfo_OK(id); + log.info("***********result:"+result); + return result; + } + + //超时方法 + @GetMapping("/payment/hystrix/timeout/{id}") + public String paymentInfo_TimeOut(@PathVariable("id") Integer id){ + String result = paymentService.paymentInfo_TimeOut(id); + log.info("***********result:"+result); + return result; + } + + // 服务熔断 + @GetMapping("/payment/circuit/{id}") + public String paymentCircuitBreaker(@PathVariable("id") Integer id) { + String result = paymentService.paymentCircuitBreaker(id); + log.info("****result: " + result); + return result; + } + +} diff --git a/cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/service/PaymentService.java b/cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/service/PaymentService.java index 8970ae8..317341d 100644 --- a/cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/service/PaymentService.java +++ b/cloud-provider-hystrix-payment8001/src/main/java/com/atguigu/springcloud/service/PaymentService.java @@ -9,10 +9,12 @@ import java.util.concurrent.TimeUnit; @Service public class PaymentService { + //正常访问,肯定ok的方法 public String papymentInfo_OK(Integer id){ return "线程池:"+Thread.currentThread().getName()+" paymentInfo_OK,id:"+id+"\t"; } + //超时方法 @HystrixCommand(fallbackMethod = "paymentInfo_TimeOutHandler",commandProperties = { @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value = "5000") }) diff --git a/cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java b/cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java new file mode 100644 index 0000000..8983f30 --- /dev/null +++ b/cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentController.java @@ -0,0 +1,80 @@ +package com.atguigu.springcloud; + +import com.atguigu.springcloud.entities.CommonResult; +import com.atguigu.springcloud.entities.Payment; +import com.atguigu.springcloud.service.PaymentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import java.util.List; + +@RestController +@Slf4j +public class PaymentController { + + @Resource + private PaymentService paymentService; + @Value("${server.port}") + private String serverPort; + @Autowired + private DiscoveryClient discoveryClient; + + @PostMapping(value="/payment/create") + public CommonResult create(Payment payment){ + int result = paymentService.create(payment); + log.info("插入结果:" + result); + if (result > 0) { + return new CommonResult(200, "插入成功,serverPort: " + serverPort, result); + } else { + return new CommonResult(444, "插入失败", null); + } + } + + @GetMapping(value="/payment/get/{id}") + public CommonResult getPaymentById(@PathVariable("id") Long id){ + Payment paymentById = paymentService.getPaymentById(id); + log.info("查询结果:" + paymentById); + if (paymentById != null) { + return new CommonResult(200, "查询成功,serverPort: "+ serverPort, paymentById); + } else { + return new CommonResult(444, "没有对应记录,查询id:" + id, null); + } + } + + @GetMapping(value="/payment/discovery") + public Object discovery(){ + List services = discoveryClient.getServices();//获取服务列表清单 + for (String element: services ) { + log.info("****element: " +element); + } + //根据微服务名称“CLOUD-PAYMENT-SERVICE”获取微服务信息 + List instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE"); + for (ServiceInstance instance:instances) { + log.info(instance.getServiceId()+"\t"+instance.getHost()+"\t"+instance.getPort()+"\t"+instance.getUri()); + } + return this.discoveryClient; + } + + @GetMapping("/payment/lb") + public String getPaymentLB(){ + return serverPort; + } + + //feign 超时测试 + @GetMapping("/payment/feign/timeout") + public String paymentFeignTimeOut(){ + return serverPort; + } + + @GetMapping("/payment/paymentZipkin8001") + public String paymentZipkin8001(){ + return "hi,i'am paymentZipkin server fall back,welcome !~!"; + } +} diff --git a/cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentMain8001.java b/cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentMain8001.java index 1f6cdd3..131d3c8 100644 --- a/cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentMain8001.java +++ b/cloud-provider-payment8001/src/main/java/com/atguigu/springcloud/PaymentMain8001.java @@ -17,3 +17,4 @@ public class PaymentMain8001 { SpringApplication.run(PaymentMain8001.class,args); } } + diff --git a/cloud-provider-payment8001/src/main/resources/application.yml b/cloud-provider-payment8001/src/main/resources/application.yml index d8eb3ba..b30bf23 100644 --- a/cloud-provider-payment8001/src/main/resources/application.yml +++ b/cloud-provider-payment8001/src/main/resources/application.yml @@ -10,6 +10,11 @@ spring: url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: 1234 + zipkin: + base-url: http://localhost:9411 + sleuth: + sampler: + probability: 1 #采样率值介于0到1之间,1表示全部采集 #将支付服务8001微服务发布到2台Eureka集群配置中 eureka: diff --git a/cloud-provider-payment8001/target/classes/application.yml b/cloud-provider-payment8001/target/classes/application.yml index d8eb3ba..b30bf23 100644 --- a/cloud-provider-payment8001/target/classes/application.yml +++ b/cloud-provider-payment8001/target/classes/application.yml @@ -10,6 +10,11 @@ spring: url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: 1234 + zipkin: + base-url: http://localhost:9411 + sleuth: + sampler: + probability: 1 #采样率值介于0到1之间,1表示全部采集 #将支付服务8001微服务发布到2台Eureka集群配置中 eureka: diff --git a/cloud-provider-payment8002/src/main/java/com/atguigu/springcloud/PaymentController.java b/cloud-provider-payment8002/src/main/java/com/atguigu/springcloud/PaymentController.java new file mode 100644 index 0000000..ccfa988 --- /dev/null +++ b/cloud-provider-payment8002/src/main/java/com/atguigu/springcloud/PaymentController.java @@ -0,0 +1,49 @@ +package com.atguigu.springcloud; + +import com.atguigu.springcloud.entities.CommonResult; +import com.atguigu.springcloud.entities.Payment; +import com.atguigu.springcloud.service.PaymentService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; + +@RestController +@Slf4j +public class PaymentController { + @Resource + private PaymentService paymentService; + @Value("${server.port}") + private String serverPort; + + @PostMapping(value="/payment/create") + public CommonResult create(Payment payment){ + int result = paymentService.create(payment); + log.info("插入结果:" + result); + if (result > 0) { + return new CommonResult(200, "插入成功,serverPort: " + serverPort, result); + } else { + return new CommonResult(444, "插入失败", null); + } + } + + @GetMapping(value="/payment/get/{id}") + public CommonResult getPaymentById(@PathVariable("id") Long id){ + Payment paymentById = paymentService.getPaymentById(id); + log.info("查询结果:" + paymentById); + if (paymentById != null) { + return new CommonResult(200, "查询成功,serverPort: "+ serverPort, paymentById); + } else { + return new CommonResult(444, "没有对应记录,查询id:" + id, null); + } + } + + @GetMapping("/payment/lb") + public String getPayment(){ + return serverPort; + } + +} diff --git a/cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentController.java b/cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentController.java new file mode 100644 index 0000000..b89d4f0 --- /dev/null +++ b/cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentController.java @@ -0,0 +1,19 @@ +package com.atguigu.springcloud; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import java.util.UUID; + +@RestController +@Slf4j +public class PaymentController { + @Value("${server.port}") + private String serverPort; + + @RequestMapping(value = "/payment/zk") + public String paymentzk(){ + return "springcloud with zookeeper: " + serverPort + "\t" + UUID.randomUUID().toString(); + } +} diff --git a/cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentMain8004.java b/cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentMain8004.java index 24e9295..1391029 100644 --- a/cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentMain8004.java +++ b/cloud-provider-payment8004/src/main/java/com/atguigu/springcloud/PaymentMain8004.java @@ -8,7 +8,8 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @EnableDiscoveryClient public class PaymentMain8004 { //共同点:都能让注册中心发现,扫描到该服务。 - //不同点:@EnableEurekaClient只适用于Eureka作为注册中心,场景单一;@EnableDiscoveryClient 可以是其他注册中心。 + //不同点:@EnableEurekaClient只适用于Eureka作为注册中心,场景单一; + // @EnableDiscoveryClient 可以是其他注册中心。 public static void main(String[] args) { SpringApplication.run(PaymentMain8004.class,args); } diff --git a/cloud-providerconsul-payment8006/src/main/java/com/atguigu/springcloud/PaymentController.java b/cloud-providerconsul-payment8006/src/main/java/com/atguigu/springcloud/PaymentController.java new file mode 100644 index 0000000..addd214 --- /dev/null +++ b/cloud-providerconsul-payment8006/src/main/java/com/atguigu/springcloud/PaymentController.java @@ -0,0 +1,19 @@ +package com.atguigu.springcloud; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import java.util.UUID; + +@RestController +@Slf4j +public class PaymentController { + @Value("${server.port}") + private String serverPort; + //测试访问地址http://localhost:80/consumer/payment/consul + @RequestMapping(value = "/payment/consul") + public String paymentzk(){ + return "springcloud with consul: " + serverPort + "\t" + UUID.randomUUID().toString(); + } +} diff --git a/cloud-stream-rabbitmq-consumer8802/cloud-stream-rabbitmq-consumer8802.iml b/cloud-stream-rabbitmq-consumer8802/cloud-stream-rabbitmq-consumer8802.iml new file mode 100644 index 0000000..7169aef --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8802/cloud-stream-rabbitmq-consumer8802.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8802/pom.xml b/cloud-stream-rabbitmq-consumer8802/pom.xml new file mode 100644 index 0000000..dba329d --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8802/pom.xml @@ -0,0 +1,48 @@ + + + + springcloud2021 + com.atguigu.springcloud + 1.0-SNAPSHOT + + 4.0.0 + + cloud-stream-rabbitmq-consumer8802 + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + org.springframework.cloud + spring-cloud-starter-stream-rabbit + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.atguigu.springcloud + cloud-api-commons + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/ReceiveMessageListenerController.java b/cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/ReceiveMessageListenerController.java new file mode 100644 index 0000000..4de595b --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/ReceiveMessageListenerController.java @@ -0,0 +1,24 @@ +package com.atguigu.springcloud; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.stream.annotation.EnableBinding; +import org.springframework.cloud.stream.annotation.StreamListener; +import org.springframework.cloud.stream.messaging.Sink; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +@EnableBinding(Sink.class) //指信道chanel和exchange绑定一起 +public class ReceiveMessageListenerController { + + @Value("${server.port}") + private String serverPort; + + @StreamListener(Sink.INPUT) //监听队列,用于消费者的队列消息接收 + public void input(Message message) { + System.out.println("消费者1号,------>接收到的消息:"+message.getPayload()+"\t port" +serverPort); + } + +} diff --git a/cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/StreamMQMain8802.java b/cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/StreamMQMain8802.java new file mode 100644 index 0000000..101e364 --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8802/src/main/java/com/atguigu/springcloud/StreamMQMain8802.java @@ -0,0 +1,12 @@ +package com.atguigu.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class StreamMQMain8802 { + //启动7001、8801、8802,测试8801发送,8802接收,http://localhost:8801/sendMessageTest + public static void main(String[] args) { + SpringApplication.run(StreamMQMain8802.class, args); + } +} diff --git a/cloud-stream-rabbitmq-consumer8802/src/main/resources/application.yml b/cloud-stream-rabbitmq-consumer8802/src/main/resources/application.yml new file mode 100644 index 0000000..01f698f --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8802/src/main/resources/application.yml @@ -0,0 +1,32 @@ +server: + port: 8802 +spring: + application: + name: cloud-stream-consumer + cloud: + stream: + binders: #需要绑定的rabbitmq的服务信息 + defaultRabbit: #定义的名称,用于binding整合 + type: rabbit #消息组件类型 + environment: #环境配置 + spring: + rabbitmq: + host: localhost + port: 5672 + username: guest + password: guest + bindings: # 服务的整合处理 + input: # 名字是一个通道的名称,消费 + destination: studyExchange # 表示要使用的Exchange名称定义 + content-type: application/json # 设置消息类型,本次为json + binder: defaultRabbit #设置要绑定的消息服务的具体设置 + #group: atguiguA #组名相同,保证只被消费一次 +eureka: + client: + service-url: + defaultZone: http://localhost:7001/eureka + instance: + lease-renewal-interval-in-seconds: 2 + lease-expiration-duration-in-seconds: 5 + instance-id: receive-8802.com + prefer-ip-address: true \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8802/target/classes/application.yml b/cloud-stream-rabbitmq-consumer8802/target/classes/application.yml new file mode 100644 index 0000000..01f698f --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8802/target/classes/application.yml @@ -0,0 +1,32 @@ +server: + port: 8802 +spring: + application: + name: cloud-stream-consumer + cloud: + stream: + binders: #需要绑定的rabbitmq的服务信息 + defaultRabbit: #定义的名称,用于binding整合 + type: rabbit #消息组件类型 + environment: #环境配置 + spring: + rabbitmq: + host: localhost + port: 5672 + username: guest + password: guest + bindings: # 服务的整合处理 + input: # 名字是一个通道的名称,消费 + destination: studyExchange # 表示要使用的Exchange名称定义 + content-type: application/json # 设置消息类型,本次为json + binder: defaultRabbit #设置要绑定的消息服务的具体设置 + #group: atguiguA #组名相同,保证只被消费一次 +eureka: + client: + service-url: + defaultZone: http://localhost:7001/eureka + instance: + lease-renewal-interval-in-seconds: 2 + lease-expiration-duration-in-seconds: 5 + instance-id: receive-8802.com + prefer-ip-address: true \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8802/web/WEB-INF/web.xml b/cloud-stream-rabbitmq-consumer8802/web/WEB-INF/web.xml new file mode 100644 index 0000000..d80081d --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8802/web/WEB-INF/web.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8803/cloud-stream-rabbitmq-consumer8803.iml b/cloud-stream-rabbitmq-consumer8803/cloud-stream-rabbitmq-consumer8803.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8803/cloud-stream-rabbitmq-consumer8803.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8803/pom.xml b/cloud-stream-rabbitmq-consumer8803/pom.xml new file mode 100644 index 0000000..fdc796c --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8803/pom.xml @@ -0,0 +1,48 @@ + + + + springcloud2021 + com.atguigu.springcloud + 1.0-SNAPSHOT + + 4.0.0 + + cloud-stream-rabbitmq-consumer8803 + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + org.springframework.cloud + spring-cloud-starter-stream-rabbit + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.atguigu.springcloud + cloud-api-commons + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/StreamMQMain8803.java b/cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/StreamMQMain8803.java new file mode 100644 index 0000000..18dd4f3 --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/StreamMQMain8803.java @@ -0,0 +1,11 @@ +package com.atguigu.springcloud; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class StreamMQMain8803 { + public static void main(String[] args) { + SpringApplication.run(StreamMQMain8803.class, args); + } +} diff --git a/cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/controller/ReceiveMessageListenerController.java b/cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/controller/ReceiveMessageListenerController.java new file mode 100644 index 0000000..b9b8e95 --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8803/src/main/java/com/atguigu/springcloud/controller/ReceiveMessageListenerController.java @@ -0,0 +1,24 @@ +package com.atguigu.springcloud.controller; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.stream.annotation.EnableBinding; +import org.springframework.cloud.stream.annotation.StreamListener; +import org.springframework.cloud.stream.messaging.Sink; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +@EnableBinding(Sink.class) +public class ReceiveMessageListenerController { + + @Value("${server.port}") + private String serverPort; + + @StreamListener(Sink.INPUT) + public void input(Message message) { + System.out.println("消费者2号,------>接收到的消息:"+message.getPayload()+"\t port" +serverPort); + } + +} diff --git a/cloud-stream-rabbitmq-consumer8803/src/main/resources/application.yml b/cloud-stream-rabbitmq-consumer8803/src/main/resources/application.yml new file mode 100644 index 0000000..f867d27 --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8803/src/main/resources/application.yml @@ -0,0 +1,32 @@ +server: + port: 8803 +spring: + application: + name: cloud-stream-consumer + cloud: + stream: + binders: #需要绑定的rabbitmq的服务信息 + defaultRabbit: #定义的名称,用于binding整合 + type: rabbit #消息组件类型 + environment: #环境配置 + spring: + rabbitmq: + host: localhost + port: 5672 + username: guest + password: guest + bindings: # 服务的整合处理 + input: # 名字是一个通道的名称,消费 + destination: studyExchange # 表示要使用的Exchange名称定义 + content-type: application/json # 设置消息类型,本次为json + binder: defaultRabbit #设置要绑定的消息服务的具体设置 + group: atguiguA #组名相同,保证只被消费一次 +eureka: + client: + service-url: + defaultZone: http://localhost:7001/eureka + instance: + lease-renewal-interval-in-seconds: 2 + lease-expiration-duration-in-seconds: 5 + instance-id: receive-8802.com + prefer-ip-address: true \ No newline at end of file diff --git a/cloud-stream-rabbitmq-consumer8803/target/classes/application.yml b/cloud-stream-rabbitmq-consumer8803/target/classes/application.yml new file mode 100644 index 0000000..f867d27 --- /dev/null +++ b/cloud-stream-rabbitmq-consumer8803/target/classes/application.yml @@ -0,0 +1,32 @@ +server: + port: 8803 +spring: + application: + name: cloud-stream-consumer + cloud: + stream: + binders: #需要绑定的rabbitmq的服务信息 + defaultRabbit: #定义的名称,用于binding整合 + type: rabbit #消息组件类型 + environment: #环境配置 + spring: + rabbitmq: + host: localhost + port: 5672 + username: guest + password: guest + bindings: # 服务的整合处理 + input: # 名字是一个通道的名称,消费 + destination: studyExchange # 表示要使用的Exchange名称定义 + content-type: application/json # 设置消息类型,本次为json + binder: defaultRabbit #设置要绑定的消息服务的具体设置 + group: atguiguA #组名相同,保证只被消费一次 +eureka: + client: + service-url: + defaultZone: http://localhost:7001/eureka + instance: + lease-renewal-interval-in-seconds: 2 + lease-expiration-duration-in-seconds: 5 + instance-id: receive-8802.com + prefer-ip-address: true \ No newline at end of file diff --git a/cloud-stream-rabbitmq-provider8801/src/main/java/com/atguigu/springcloud/SendMessageInfoController.java b/cloud-stream-rabbitmq-provider8801/src/main/java/com/atguigu/springcloud/SendMessageInfoController.java new file mode 100644 index 0000000..5e215ef --- /dev/null +++ b/cloud-stream-rabbitmq-provider8801/src/main/java/com/atguigu/springcloud/SendMessageInfoController.java @@ -0,0 +1,19 @@ +package com.atguigu.springcloud; + +import com.atguigu.springcloud.service.IMessageProvider; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; + +@RestController +public class SendMessageInfoController { + @Resource + private IMessageProvider messageProvider; + + @GetMapping("/sendMessageTest") + public String sendMessageTest(){ + return messageProvider.send(); + } + +} + diff --git a/cloud-stream-rabbitmq-provider8801/src/main/resources/application.yml b/cloud-stream-rabbitmq-provider8801/src/main/resources/application.yml index 7de7ad1..5e5027d 100644 --- a/cloud-stream-rabbitmq-provider8801/src/main/resources/application.yml +++ b/cloud-stream-rabbitmq-provider8801/src/main/resources/application.yml @@ -16,7 +16,7 @@ spring: username: guest password: guest bindings: # 服务的整合处理 - output: # 名字是一个通道的名称 + output: # 名字是一个通道的名称,发送 destination: studyExchange # 表示要使用的Exchange名称定义 content-type: application/json # 设置消息类型,本次为json binder: defaultRabbit #设置要绑定的消息服务的具体设置 @@ -31,5 +31,5 @@ eureka: #若不能在指定时间间隔内接收到实例,则移除此实例,并禁止此实例的流量 lease-expiration-duration-in-seconds: 5 #设置接收时间间隔 - instance-id: send-8801.com - prefer-ip-address: true \ No newline at end of file + instance-id: send-8801.com # 主机名 + prefer-ip-address: true # 显示ip \ No newline at end of file diff --git a/cloud-stream-rabbitmq-provider8801/target/classes/application.yml b/cloud-stream-rabbitmq-provider8801/target/classes/application.yml index 7de7ad1..5e5027d 100644 --- a/cloud-stream-rabbitmq-provider8801/target/classes/application.yml +++ b/cloud-stream-rabbitmq-provider8801/target/classes/application.yml @@ -16,7 +16,7 @@ spring: username: guest password: guest bindings: # 服务的整合处理 - output: # 名字是一个通道的名称 + output: # 名字是一个通道的名称,发送 destination: studyExchange # 表示要使用的Exchange名称定义 content-type: application/json # 设置消息类型,本次为json binder: defaultRabbit #设置要绑定的消息服务的具体设置 @@ -31,5 +31,5 @@ eureka: #若不能在指定时间间隔内接收到实例,则移除此实例,并禁止此实例的流量 lease-expiration-duration-in-seconds: 5 #设置接收时间间隔 - instance-id: send-8801.com - prefer-ip-address: true \ No newline at end of file + instance-id: send-8801.com # 主机名 + prefer-ip-address: true # 显示ip \ No newline at end of file diff --git a/cloudalibaba-consumer-nacos-order83/cloudalibaba-consumer-nacos-order83.iml b/cloudalibaba-consumer-nacos-order83/cloudalibaba-consumer-nacos-order83.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/cloudalibaba-consumer-nacos-order83/cloudalibaba-consumer-nacos-order83.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/cloudalibaba-consumer-nacos-order83/pom.xml b/cloudalibaba-consumer-nacos-order83/pom.xml new file mode 100644 index 0000000..79fc4bc --- /dev/null +++ b/cloudalibaba-consumer-nacos-order83/pom.xml @@ -0,0 +1,46 @@ + + + + springcloud2021 + com.atguigu.springcloud + 1.0-SNAPSHOT + + 4.0.0 + + cloudalibaba-consumer-nacos-order83 + + + + 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 + + + com.atguigu.springcloud + cloud-api-commons + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/OrderNacosMain83.java b/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/OrderNacosMain83.java new file mode 100644 index 0000000..cf18c63 --- /dev/null +++ b/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/OrderNacosMain83.java @@ -0,0 +1,13 @@ +package com.atguigu.springcloud.alibaba; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +@EnableDiscoveryClient +@SpringBootApplication +public class OrderNacosMain83 { + public static void main(String[] args) { + SpringApplication.run(OrderNacosMain83.class, args); + } +} diff --git a/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/config/ApplicationContextConfig.java b/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/config/ApplicationContextConfig.java new file mode 100644 index 0000000..ebae434 --- /dev/null +++ b/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/config/ApplicationContextConfig.java @@ -0,0 +1,17 @@ +package com.atguigu.springcloud.alibaba.config; + +import org.springframework.cloud.client.loadbalancer.LoadBalanced; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class ApplicationContextConfig { + + @Bean + @LoadBalanced + public RestTemplate getRestTemplate(){ + return new RestTemplate(); + } + +} diff --git a/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/controller/OrderNacosController.java b/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/controller/OrderNacosController.java new file mode 100644 index 0000000..37f599e --- /dev/null +++ b/cloudalibaba-consumer-nacos-order83/src/main/java/com/atguigu/springcloud/alibaba/controller/OrderNacosController.java @@ -0,0 +1,25 @@ +package com.atguigu.springcloud.alibaba.controller; + +import lombok.extern.slf4j.Slf4j; +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; +import org.springframework.web.client.RestTemplate; +import javax.annotation.Resource; + +@RestController +@Slf4j +public class OrderNacosController { + + @Resource + private RestTemplate restTemplate; + + @Value("${service-url.nacos-user-service}") + private String serverURL; + + @GetMapping("/consumer/payment/nacos/{id}") + public String paymentInfo(@PathVariable("id") Long id) { + return restTemplate.getForObject(serverURL + "/payment/nacos/" + id, String.class); + } +} \ No newline at end of file diff --git a/cloudalibaba-consumer-nacos-order83/src/main/resources/application.yml b/cloudalibaba-consumer-nacos-order83/src/main/resources/application.yml new file mode 100644 index 0000000..5f21fa8 --- /dev/null +++ b/cloudalibaba-consumer-nacos-order83/src/main/resources/application.yml @@ -0,0 +1,11 @@ +server: + port: 83 +spring: + application: + name: nacos-order-consumer + cloud: + nacos: + discovery: + server-addr: localhost:8848 +service-url: + nacos-user-service: http://nacos-payment-provider \ No newline at end of file diff --git a/cloudalibaba-consumer-nacos-order83/target/classes/application.yml b/cloudalibaba-consumer-nacos-order83/target/classes/application.yml new file mode 100644 index 0000000..5f21fa8 --- /dev/null +++ b/cloudalibaba-consumer-nacos-order83/target/classes/application.yml @@ -0,0 +1,11 @@ +server: + port: 83 +spring: + application: + name: nacos-order-consumer + cloud: + nacos: + discovery: + server-addr: localhost:8848 +service-url: + nacos-user-service: http://nacos-payment-provider \ No newline at end of file diff --git a/cloudalibaba-provider-payment9001/cloudalibaba-provider-payment9001.iml b/cloudalibaba-provider-payment9001/cloudalibaba-provider-payment9001.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/cloudalibaba-provider-payment9001/cloudalibaba-provider-payment9001.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/cloudalibaba-provider-payment9001/pom.xml b/cloudalibaba-provider-payment9001/pom.xml new file mode 100644 index 0000000..906634a --- /dev/null +++ b/cloudalibaba-provider-payment9001/pom.xml @@ -0,0 +1,46 @@ + + + + springcloud2021 + com.atguigu.springcloud + 1.0-SNAPSHOT + + 4.0.0 + + cloudalibaba-provider-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 + + + com.atguigu.springcloud + cloud-api-commons + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9001.java b/cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9001.java new file mode 100644 index 0000000..9861198 --- /dev/null +++ b/cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9001.java @@ -0,0 +1,13 @@ +package com.atguigu.springcloud.alibaba; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +@SpringBootApplication +@EnableDiscoveryClient +public class PaymentMain9001 { + public static void main(String[] args) { + SpringApplication.run(PaymentMain9001.class, args); + } +} diff --git a/cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java b/cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java new file mode 100644 index 0000000..9ba2058 --- /dev/null +++ b/cloudalibaba-provider-payment9001/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java @@ -0,0 +1,19 @@ +package com.atguigu.springcloud.alibaba.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; + +@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; + } + +} \ No newline at end of file diff --git a/cloudalibaba-provider-payment9001/src/main/resources/application.yml b/cloudalibaba-provider-payment9001/src/main/resources/application.yml new file mode 100644 index 0000000..bfed3e8 --- /dev/null +++ b/cloudalibaba-provider-payment9001/src/main/resources/application.yml @@ -0,0 +1,14 @@ +server: + port: 9001 +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 +management: + endpoints: + web: + exposure: + include: "*" \ No newline at end of file diff --git a/cloudalibaba-provider-payment9001/target/classes/application.yml b/cloudalibaba-provider-payment9001/target/classes/application.yml new file mode 100644 index 0000000..bfed3e8 --- /dev/null +++ b/cloudalibaba-provider-payment9001/target/classes/application.yml @@ -0,0 +1,14 @@ +server: + port: 9001 +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 +management: + endpoints: + web: + exposure: + include: "*" \ No newline at end of file diff --git a/cloudalibaba-provider-payment9002/cloudalibaba-provider-payment9002.iml b/cloudalibaba-provider-payment9002/cloudalibaba-provider-payment9002.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/cloudalibaba-provider-payment9002/cloudalibaba-provider-payment9002.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/cloudalibaba-provider-payment9002/pom.xml b/cloudalibaba-provider-payment9002/pom.xml new file mode 100644 index 0000000..7d9c901 --- /dev/null +++ b/cloudalibaba-provider-payment9002/pom.xml @@ -0,0 +1,46 @@ + + + + springcloud2021 + com.atguigu.springcloud + 1.0-SNAPSHOT + + 4.0.0 + + cloudalibaba-provider-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 + + + com.atguigu.springcloud + cloud-api-commons + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9002.java b/cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9002.java new file mode 100644 index 0000000..309c0d9 --- /dev/null +++ b/cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9002.java @@ -0,0 +1,13 @@ +package com.atguigu.springcloud.alibaba; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +@SpringBootApplication +@EnableDiscoveryClient +public class PaymentMain9002 { + public static void main(String[] args) { + SpringApplication.run(PaymentMain9002.class, args); + } +} diff --git a/cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java b/cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java new file mode 100644 index 0000000..9ba2058 --- /dev/null +++ b/cloudalibaba-provider-payment9002/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java @@ -0,0 +1,19 @@ +package com.atguigu.springcloud.alibaba.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; + +@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; + } + +} \ No newline at end of file diff --git a/cloudalibaba-provider-payment9002/src/main/resources/application.yml b/cloudalibaba-provider-payment9002/src/main/resources/application.yml new file mode 100644 index 0000000..16b9ec8 --- /dev/null +++ b/cloudalibaba-provider-payment9002/src/main/resources/application.yml @@ -0,0 +1,14 @@ +server: + port: 9002 +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 +management: + endpoints: + web: + exposure: + include: "*" \ No newline at end of file diff --git a/cloudalibaba-provider-payment9002/target/classes/application.yml b/cloudalibaba-provider-payment9002/target/classes/application.yml new file mode 100644 index 0000000..16b9ec8 --- /dev/null +++ b/cloudalibaba-provider-payment9002/target/classes/application.yml @@ -0,0 +1,14 @@ +server: + port: 9002 +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 +management: + endpoints: + web: + exposure: + include: "*" \ No newline at end of file diff --git a/cloudalibaba-provider-payment9003/cloudalibaba-provider-payment9003.iml b/cloudalibaba-provider-payment9003/cloudalibaba-provider-payment9003.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/cloudalibaba-provider-payment9003/cloudalibaba-provider-payment9003.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/cloudalibaba-provider-payment9003/pom.xml b/cloudalibaba-provider-payment9003/pom.xml new file mode 100644 index 0000000..faa4fca --- /dev/null +++ b/cloudalibaba-provider-payment9003/pom.xml @@ -0,0 +1,67 @@ + + + + springcloud2021 + com.atguigu.springcloud + 1.0-SNAPSHOT + + 4.0.0 + + cloudalibaba-provider-payment9003 + + + + + + + + + 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 + + + com.atguigu.springcloud + cloud-api-commons + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9003.java b/cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9003.java new file mode 100644 index 0000000..d20613b --- /dev/null +++ b/cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/PaymentMain9003.java @@ -0,0 +1,13 @@ +package com.atguigu.springcloud.alibaba; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +@SpringBootApplication +@EnableDiscoveryClient +public class PaymentMain9003 { + public static void main(String[] args) { + SpringApplication.run(PaymentMain9003.class, args); + } +} \ No newline at end of file diff --git a/cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java b/cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java new file mode 100644 index 0000000..53ac79a --- /dev/null +++ b/cloudalibaba-provider-payment9003/src/main/java/com/atguigu/springcloud/alibaba/controller/PaymentController.java @@ -0,0 +1,23 @@ +package com.atguigu.springcloud.alibaba.controller; + +import com.atguigu.springcloud.entities.Payment; +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; + +import javax.annotation.security.PermitAll; +import java.util.HashMap; + +@RestController +public class PaymentController{ + + +} + + + + + + + diff --git a/cloudalibaba-provider-payment9003/src/main/resources/application.yml b/cloudalibaba-provider-payment9003/src/main/resources/application.yml new file mode 100644 index 0000000..47289a4 --- /dev/null +++ b/cloudalibaba-provider-payment9003/src/main/resources/application.yml @@ -0,0 +1,14 @@ +server: + port: 9003 +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 +management: + endpoints: + web: + exposure: + include: "*" \ No newline at end of file diff --git a/cloudalibaba-provider-payment9003/target/classes/application.yml b/cloudalibaba-provider-payment9003/target/classes/application.yml new file mode 100644 index 0000000..47289a4 --- /dev/null +++ b/cloudalibaba-provider-payment9003/target/classes/application.yml @@ -0,0 +1,14 @@ +server: + port: 9003 +spring: + application: + name: nacos-payment-provider + cloud: + nacos: + discovery: + server-addr: localhost:8848 +management: + endpoints: + web: + exposure: + include: "*" \ No newline at end of file diff --git a/pom.xml b/pom.xml index f0c8b05..b8a1966 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,15 @@ cloud-config-client-3355 cloud-config-client-3366 cloud-stream-rabbitmq-provider8801 + cloud-stream-rabbitmq-consumer8802 + cloud-stream-rabbitmq-consumer8802 + cloud-stream-rabbitmq-consumer8802 + cloud-stream-rabbitmq-consumer8802 + cloud-stream-rabbitmq-consumer8803 + cloudalibaba-provider-payment9001 + cloudalibaba-provider-payment9002 + cloudalibaba-provider-payment9003 + cloudalibaba-consumer-nacos-order83 -- Gitee