场景:为了对单一项目进行拆分,需要模块相互远程调用,负载均衡和限流,进而引入eureka
难点:1.springboot和springcloud版本对应关系
2.父子项目maven关系梳理
完成代码:
1.父项目pom文件 creativediary:pom.xml添加springcloud依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
我的spring-boot-starter-parent版本是2.0.3.RELEASE,对应版本是 Finchley
可查阅官网Spring Cloud
2.子项目pom文件 eurekaServer: pom.xml添加依赖
<parent>
<artifactId>creativediary</artifactId>
<groupId>org.mai</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
</dependencies>
3.子项目添加启动类,需要添加@EnableEurekaServer
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args){
SpringApplication.run(EurekaApplication.class, args);
}
}
4.默认情况下,Eureka 服务器将自身注册到发现中,需要去除这点
server:
port: 8761
eureka:
client:
register-with-eureka: false
fetch-registry: false