创建服务:(我们创建 2 个服务, service1 和 service2. 操作是一样的)
选择 Spring Initializr 模板
选择 Spring Cloud Discovery-->Eureka Discovery Client
pom 文件 (注意增加 spring-cloud-config-client ) 用来监听配置中心
- <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.2.5.RELEASE</version>
- <relativePath/> <!-- lookup parent from repository -->
- </parent>
- <groupId>com.test</groupId>
- <artifactId>service1</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <name>service1</name>
- <description>Demo project for Spring Boot</description>
- <properties>
- <java.version>1.8</java.version>
- <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <!-- 配置中心的客户端 -->
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-config-client</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-commons</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-dependencies</artifactId>
- <version>${spring-cloud.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </project>
添加服务注解:@EnableEurekaClient
接着, 我们创建一个 controller 文件夹,
并且创建 TestController 类
(service2 也一样) @RestController @RequestMapping("test") public class TestController { @Value("${isDebug}") private String isDebug; @GetMapping(value = "/hello") public String hello(){ return isDebug; } }
application.YAML
server: port: 9040 spring: application: name: service1 eureka: client: service-url: defaultZone: ${registry.url} instance: lease-expiration-duration-in-seconds: 60 lease-renewal-interval-in-seconds: 30 preferIpAddress: true instanceId: ${spring.cloud.client.ip-address}:${server.port} Bootstrap.YAML(service2 服务, 我们选择 prod 作为配置文件) spring: http: encoding: charset: UTF-8 enabled: true force: true cloud: config: uri: http://${host:localhost}:9020 name: config profile: ${active:dev} # service2 我们采用 prod 的配置文件 # profile: ${active:prod}
然后, 我们按照顺序启动.
1 注册中心, 配置中心
2 service1,service2 eureka
我们看到, 配置中心和服务都注册了.
我们访问服务
由于 service1 访问的是 dev,
service2 访问的是 prod,
所以他们显示的信息不一样, 这说明我们切换配置文件成功了.
spring cloud 搭建(服务)
来源: http://www.bubuko.com/infodetail-3478659.html