上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控制台