提交 dc8bda77 编写于 作者: Lcry's avatar Lcry 🖥

P95-P110:完成注册和配置中心Nacos

上级 80efdd26
......@@ -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
......@@ -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) |
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>2020SpringCloud</artifactId>
<groupId>com.lcry</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<!--cloudalibaba-nacos客户端获取nacos服务端配置文件示例-->
<!-- nacos服务直接到官网下载以jar运行即可-->
<artifactId>cloudalibaba-config-nacos-client3377</artifactId>
<dependencies>
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--nacos-discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--web + actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--一般基础配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
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
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
#激活配置文件选项
spring:
profiles:
active: dev # 表示开发环境
#active: test # 表示测试环境
#active: prod # 表示生产环境
\ No newline at end of file
# 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
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>2020SpringCloud</artifactId>
<groupId>com.lcry</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<!-- 商品服务提供者,使用Nacos注册和配置中心-->
<artifactId>cloudalibaba-provider-nacos-payment9001</artifactId>
<dependencies>
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringBoot整合Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
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);
}
}
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;
}
}
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
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>2020SpringCloud</artifactId>
<groupId>com.lcry</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<!-- 商品服务提供者注册到Nacos,9001克隆版-->
<artifactId>cloudalibaba-provider-nacos-payment9002</artifactId>
<dependencies>
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringBoot整合Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
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);
}
}
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;
}
}
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
......@@ -29,6 +29,9 @@
<module>cloud-stream-provider-rabbitmq8801</module>
<module>cloud-stream-consumer-rabbitmq8802</module>
<module>cloud-stream-consumer-rabbitmq8803</module>
<module>cloudalibaba-config-nacos-client3377</module>
<module>cloudalibaba-provider-nacos-payment9001</module>
<module>cloudalibaba-provider-nacos-payment9002</module>
</modules>
<packaging>pom</packaging>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册