版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lnazj/article/details/83685870
1.什么是Eureka?
Ereka相当于zookeeper,是服务注册中心,当项目中微服务越来越多时,需要进行服务间调用,这时就需要将微服务都注册进入Eureka,服务之间可以互相发现,然后才可以进行调用.
系统中的其他微服务,使用Eureka 客户端连接到Eureka Server并维持心跳连接,这样就可以通过Eureka server来监控系统中各个微服务是否运行,SpringCloud的一些其他模块就可以通过Eureka Server来发现系统中其他微服务,并执行相关逻辑。
Eureka 包含两个组件,Eureka Server 和 Eureka Client.
Eureka Server 提供服务注册服务,Eureka Client 就是我们各个微服务。如下是Eureka结构图。
如何将服务注册进Eureka?
1.Eureka服务器端配置
1.1新建Eueka的springboot项目
1.2Pom坐标
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
1.3修改yml 文件
server:
port: 7001 #启动端口
eureka:
instance:
hostname: localhost #eureka服务端的实例名称
client:
register-with-eureka: false #不向注册中心注册自己
fetch-registry: false #false 表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #告诉客户端Eureka地址,设置Eureka Server交互的地址查询服务和注册服务
1.4 添加启动类
添加@EnableEurekaServer,说明自己是Eureka服务端
@SpringBootApplication
@EnableEurekaServer //服务端启动类,接受其他服务注册进来
public class EurekaServer7001_App {
public static void main(String[] args){
SpringApplication.run(EurekaServer7001_App.class,args);
}
}
通过访问 localhost:7001就可以进入Eureka 界面
2.Eureka 客户端配置
2.1修改Pom文件添加
<!--把项目注册进Eureka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
2.2修改yml 文件添加
eureka:
client:
service-url:
#客户端注册进eureka服务的地址,同eureka暴露给外部的地址
defaultZone: http://localhost:7001/eureka/
instance:
#注册到eureka后,status的名字(服务在eureka的唯一标志)
instance-id: ${spring.application.name}:${random.int}
#访问路径可以显示IP地址
prefer-ip-address: true
2.3 启动类添加@EnableEurekaClient注解,作为Eureka客户端
@SpringBootApplication
@EnableEurekaClient //可以把自己的注册进入Eureka
public class DeptProvider8001_APP {
public static void main(String[] args)
{
SpringApplication.run(DeptProvider8001_APP.class,args);
}
}
总结:我们加入一个新的组件技术,需要做的操作包括修改pom ,yml ,以及在启动类上添加注解.