image.png

创建SpringCloud项目

打开idea,创建一个maven项目,项目名为Spring-cloud-demo。image.png

在项目目录下建立一个eureka的目录,用于存放eureka-server和eureka-client

添加pom依赖,springcloud的依赖与springBoot的依赖

  1. <packaging>pom</packaging>
  2. <!-- dependencyManagement:管理version,如果子工程需要依赖父工程的组件,
  3. 不需要指定version,会直接从dependencyManagement里找
  4. -->
  5. <dependencyManagement>
  6. <dependencies>
  7. <dependency>
  8. <groupId>org.springframework.cloud</groupId>
  9. <artifactId>spring-cloud-dependencies</artifactId>
  10. <version>Greenwich.SR1</version>
  11. <type>pom</type>
  12. <scope>import</scope>
  13. </dependency>
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-parent</artifactId>
  17. <version>2.1.5.RELEASE</version>
  18. <type>pom</type>
  19. <scope>import</scope>
  20. </dependency>
  21. </dependencies>
  22. </dependencyManagement>

在eureka目录下新建一个module:eureka-server (注册中心)
添加pom依赖:

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.cloud</groupId>
  4. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  5. </dependency>
  6. </dependencies>

编写application.yml文件:

spring:
  application:
    name: eureka-server       # 我叫什么
server:
  port: 20000                 # 端口号

eureka:
  instance:
    hostname: localhost       # 地址(ip)
  client:
    register-with-eureka: false # 是否发起注册,不自己注册自己
    fetch-registry: false       # 拉取服务注册列表
  server:
    enable-self-preservation: false  #强制关闭服务自保,开启的话,过期服务将不会被剔除
    eviction-interval-timer-in-ms: 10000  #每隔多久触发一次服务剔除,单位毫秒

编写启动类:

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

    public static void main(String[] args) {
        new SpringApplicationBuilder(EurekaServerApplication.class)
                .web(WebApplicationType.SERVLET)
                .run(args);
    }
}

至此,我们的注册中心就已经搭建好了,可以启动项目,访问:localhost:2000,可以看到eureka注册中心的ui代表启动成功