SpringCloud入门(二)之服务注册

什么是Eureka

Eureka是Spring Cloud Netflix微服务套件中的一部分。
Eureka分为服务端和客户端。

  • Eureka服务端也被称为服务注册中心。用于提供服务注册、发现功能。
  • Eureka客户端被服务提供者和服务消费者集成,实现了服务心跳维持、服务查询等功能。

如何启动一个注册中心,请参考SpringCloud入门之Eureka注册中心

下面我们来实战下Euraka客户端如何注册服务。

Euraka客户端注册服务实战

完整参考代码github

  1. 引入Eureka依赖;
  2. 使用注解@EnableEurekaClient声明作为Euraka客户端;
  3. 配置服务名和注册中心地址。

    ps:如果不配置服务名,则在注册中心显示的服务名为unknown;如果不配置注册中心地址,则无法注册成功,程序启动会报错。

引入Eureka依赖

在pom文件加入以下依赖

1
2
3
4
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

ps:这里没有指定版本,是因为使用spring-cloud-dependencies,版本号Greenwich.M3,读者如果没有引用spring-cloud-dependencies的话,可以自行给Eureka依赖加上版本号2.1.0.M3

使用注解@EnableEurekaClient声明作为Euraka客户端

在SpringBoot的启动类中加入注解

1
2
3
4
5
6
7
8
9
10
11
12
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class ServiceApplication {

public static void main(String[] args) {
SpringApplication.run(ServiceApplication.class, args);
}
}

配置服务名和注册中心地址。

在SpringBoot的配置文件中增加以下配置项

1
2
3
4
5
6
#配置端口号,默认为8080,已被我的注册中心使用
server.port=8081
#配置服务名,不配置的话,注册中心显示为UnKnown
spring.application.name=AuthenticationService
#配置注册中心地址,不配置的话,程序启动会失败
eureka.client.service-url.defaultZone=http://localhost:8080/eureka/

启动服务

  1. 启动注册中心
  2. 启动服务,启动过程中会去注册中心注册服务
  3. 访问注册中心,我们可以看到已经注册的服务

运行SpringBoot,如果正常启动成功的话 ,可以通过浏览器访问注册中心。

服务启动成功

服务注册成功