首先,是eureka的工作原理图
服务提供者和消费者都相当于是Eureka client,Eureka Server则是充当注册中心的角色
1.配置Eureka服务
新建一个springboot项目,并导入依赖,要注意,导入的eureka服务依赖一定要是Spring-cloud-starter-netflix-eureka-server
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
配置yml配置文件:
这里使用7001端口号
server:
port: 7001
eureka:
#eureka服务的实例名称
instance:
hostname: localhost
client:
#不将自己注册进eureka
register-with-eureka: false
#指示此客户端是否应从eureka服务器获取eureka注册表信息,自己就是注册中心所以关闭
fetch-registry: false
service-url:
#设置与eureka服务交互的查询和注册服务的地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
最后在springboot的启动类上加入@EnableEurekaServer注解
@SpringBootApplication
@EnableEurekaServer
public class CloudEurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(CloudEurekaServerApplication.class, args);
}
}
2.注册提供者和消费者服务进Eureka
在提供者和消费者服务模块都导入依赖spring-cloud-starter-netflix-eureka-client
<!--eureka client-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.4.RELEASE</version>
</dependency>
在两个模块的yml配置文件中配置eureka服务的地址
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
在两个模块的主启动类都要加入@EnableEurekaClient注解
@SpringBootApplication
@EnableEurekaClient
public class CloudProviderPayment8011Application {
public static void main(String[] args) {
SpringApplication.run(CloudProviderPayment8011Application.class, args);
}
}
3.开启各个服务
三大模块:
先开启eureka-server服务,然后开启cloud-provider提供者服务,最后开启cloud-consumer消费者服务。
都开启后,访问localhost:7001查看eureka注册中心所注册的client。
三个模块远程调用的过程如下: