Eureka介绍
Eureka Server:服务注册中心,统一管理Eureka Client服务注册,记录服务提供者的信息。
Eureka Client:客户端,把客户端注册到服务注册中心,客户端可以暴露服务接口,可以让其他客户端是用Feign进行服务调用。
Eureka 高可用:集群多个服务注册中心,Eureka Server之间相互注册,把客户端服务注册到集群Eureka Server中,客户端注册到多个EurekaServer,Eureka Server A挂掉,在没有挂掉Eureka ServerB 依然还是有客户端信息,客户端A需要调用客户端B的服务,必须通过Eureka ServerB提供客户端B信息,可以把信息理解为客户端B的url。即使EurekaServerA挂掉了,客户端可以通过EurekaServerB进行应用之间的通信,这就是高可用。
服务发现机制:客户端发现和服务端发现,Eureka是客户端发现。
使用Feigb实现应用之间消息互通:服务端暴露服务接口,消费者调用服务。
Eureka架构图
Eureka服务端(EurekaServer注册中心)
- 在pom.xml中引入依赖
- 配置application.yml
- 在启动类上添加注解
在pom.xml中引入Eureka服务端依赖
<!-- Eureka服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
配置application.yml,eureka服务端既是服务端也是客户端
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka
register-with-eureka: false #不注册自己
server:
enable-self-preservation: false
spring:
application:
name: eureka #应用名字
在启动类上添加@EnableEurekaServer注解
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
接下启动Eureka服务端,打开Eureka注册中心,在浏览器输入http://localhost:8761/eureka ,可以看到Application下面看到是空的,也就是Eureka注册中心并没有客户端服务实例注册进来。
Eureka客户端
- 在pom.xml中引入依赖
- 配置application.yml
- 在启动类上添加注解
在pom.xml中引入Eureka客户端和 web依赖,web依赖一定要引入,否则无法注册到注册中心。
<dependency>
<groupId>org.springframework.cloud