一.什么是Eureka
•Eureka是netflix的一个子模块,也是核心模块之一,Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现和注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务,而不需要修改服务调用的配置文件了,功能类似于dubbo的注册中心,比如zookeeper。
•Eureka采用AP原则 A(可用性) p(分区容错性)
二.原理讲解
SpringCloud封装了Netflix公司开发的Eureka模块来实现服务注册时和发现。
Eureka采用了C-S的设计架构。Eureka Server作为服务注册功能的服务器,它是服务注册时中心。
而系统中的其他微服务,使用eureka的客户端连接到eureka server并维持心跳连接。这样系统的维护人员就可以通过eureka server来监控系统中各个微服务是否正常运行。SpringCloud的一些其他模块 就可以通过eureka server来发现系统中的其他微服务,并执行相关的逻辑。
Eureka包含两个组件:Eureka Server和Eureka Client。
Eureka Server提供服务注册服务。各个节点启动后,会在Eureka Server中进行注册,这样Eureka server中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
三.创建项目
•导包
1 <!--导包~--> 2 <dependencies> 3 <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka-server --> 4 <dependency> 5 <groupId>org.springframework.cloud</groupId> 6 <artifactId>spring-cloud-starter-eureka-server</artifactId> 7 <version>1.4.6.RELEASE</version> 8 </dependency> 9 <!--热部署工具--> 10 <dependency> 11 <groupId>org.springframework.boot</groupId> 12 <artifactId>spring-boot-devtools</artifactId> 13 </dependency> 14 </dependencies>
•创建application.yml,编写配置文件
server: port: 7001 #Eureka配置 eureka: instance: hostname: localhost #Eureka服务端的实例名称 client: register-with-eureka: false # 表示禁止eureka注册中心注册自己 fetch-registry: false #fetch-registry如果为false,则表示自己为注册中心 service-url: #服务的注册中心地址 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
•开启功能
@EnableEurekaServer
•测试
原文:https://www.cnblogs.com/Spring-M/p/12769781.html