创建maven父工程
新建一个工程
点击下一步,输入groupid为com.study.cloud,artifactid为spring-cloud-study
下一步修改project的名称为spring-cloud-study,点击完成
创建maven子工程
在新建的maven工程上点击右键
输入artifactid为spring-cloud-eureka-server
修改module名称为spring-cloud-eureka-server,点击完成
将spring-cloud-study工程下的src文件夹删除。因为spring-cloud-study工程为父工程,不需要src目录
修改spring-cloud-study下的pom.xml,增加SpringBoot和SpringCloud的dependencyManagement配置以及相关的属性配置
<properties>
<java.version>1.8</java.version>
<encoding>UTF-8</encoding>
<spring-boot-version>2.0.9.RELEASE</spring-boot-version>
<spring-cloud-version>Finchley.SR4</spring-cloud-version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<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>
在spring-cloud-eureka-server工程的pom中,增加相应依赖
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
在spring-cloud-eureka-server工程中新建java类,EnableEurekaServer注解说明是eureka服务端
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
增加配置文件application.yml
server:
port: 8761
spring:
application:
name: eureka-server
启动工程,在浏览器中访问 http://localhost:8761 ,可以看到相应页面
其中红色框的内容就是在yml文件中配置的应用名称
因为我们现在搭建的是eureka服务端,而只有客户端的应用才应该注册到服务端,现在需要修改yml文件,增加如下配置
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
通过eureka.client.register-with-eureka:false和fetch-registry:false来表明自己是一个eureka服务端
现在重启,就会发现页面中那个红色框的内容已经不在了
创建子工程spring-cloud-eureka-client。类似于上面的步骤,不再重复
新建java类EurekaClientApplication,EnableEurekaClient注解说明是eureka客户端
@SpringBootApplication
@EnableEurekaClient
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
server:
port: 8771
spring:
application:
name: eureka-client
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka
instance:
prefer-ip-address: true
其中defaultZone表明注册中心的地址,也就是将自己注册到哪个Eureka服务端
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
eureka最基本的注册中心和客户端大概总结完了。下一次,记录一下eureka其它特性。