Spring Cloud微服务:入门、实战与进阶
上QQ阅读APP看书,第一时间看更新

3.2 使用Eureka编写注册中心服务

首先创建一个Maven项目,取名为eureka-server,在pom.xml中配置Eureka的依赖信息,如代码清单3-1所示。

代码清单3-1 BEureka Maven配置

        <! -- Spring Boot -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.6.RELEASE</version>
            <relativePath />
        </parent>
        <dependencies>
            <! -- eureka -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            </dependency>
        </dependencies>
        <! -- Spring Cloud -->
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Finchley.SR2</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

创建一个启动类EurekaServerApplication,如代码清单3-2所示。

代码清单3-2 Eureka服务启动类

        @EnableEurekaServer
        @SpringBootApplication
        public class EurekaServerApplication {
            public static void main(String[] args) {
                SpringApplication.run(EurekaServer Application.class, args);
            }
        }

这里所说的启动类,跟我们之前讲的Spring Boot几乎完全一样,只是多了一个@EnableEurekaServer注解,表示开启Eureka Server。

接下来在src/main/resources下面创建一个application.properties属性文件,增加下面的配置:

        spring.application.name=eureka-server
        server.port=8761
        # 由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己
        eureka.client.register-with-eureka=false
        # 由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为 false
        eureka.client.fetch-registry=false

eureka.client.register-with-eureka一定要配置为false,不然启动时会把自己当作客户端向自己注册,会报错。

接下来直接运行EurekaServerApplication就可以启动我们的注册中心服务了。我们在application.properties配置的端口是8761,则可以直接通过http://localhost:8761/去浏览器中访问,然后便会看到Eureka提供的Web控制台,如图3-1所示。

图3-1 Eureka Web控制台