Open Zakariyya opened 4 years ago
date: 2019-02-24 16:04:23
Eureka 是 Netflix 开发的服务发现组件,本身是一个基于 REST 的服务, SpringCloud将它继承在其子项目 spring-cloud-netflix 中,以实现 Springcloud 的服务注册与发现,同时还提供了负载均衡,故障转移等功能
通过 Register、Get、Renew 等接口提供服务和发现
通过spring 官网上 eureka得到: 任何Spring Boot应用程序@EnableEurekaClient都会尝试联系Eureka服务器http://localhost:8761(默认值为 eureka.client.serviceUrl.defaultZone)
要运行您自己的服务器,请pom使用spring-cloud-starter-netflix-eureka-server依赖项和在启动类上添加@EnableEurekaServer。
server: port: 8761 servlet: context-path: /eureka-server eureka: client: register-with-eureka: false # 是否将自己注册到 eureka-server 中,默认为true。否则eureka会一直尝试自己注册自己,导致异常 fetch-registry: false # 是否从 eureka-server 中获取服务注册信息,默认为true
不添加配置,会导致eureka一直自己注册自己导致启动异常
访问 http://localhost:8761/eureka-server/ 看到 eureka 服务管理平台
在搭建 Eureka 集群时,需要添加多个配置文件,并且使用Springboot的多环境配置方式,集群中需要多少节点就添加多个配置文件。 根据不同的配置文件到不同的节点进行部署即可
server: port: 8761 servlet: context-path: / # 集群 这里 非/ 的话会出现eureka中没有互相注册,没有服务注册的情况 eureka: instance: hostname: eureka1 # 设置eureka实例名称,与配置文件的变量为主 client: service-url: defaultZone: http://eureka2:8761/eureka/ # 设置服务注册中心地址,指向另一个注册中心 ,结构是一定的:http://{hostname}:{port}/eureka/
服务提供方,把自身的服务实例注册到 Eureka Server 中
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-eureka-client</artifactId> <version>2.1.1.RELEASE</version> <scope>compile</scope> </dependency> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
server: port: 9090 servlet: context-path: /eureka-provider eureka: client: service-url: defaultZone: http://eureka1:8761/eureka/,http://eureka2:8761/eureka/ # 设置服务注册中心地址,指向另一个注册中心,用逗号分割
域名 修改 hosts ,略
服务调用方,通过Eureka Server获取服务列表,消费服务
Eureka 注册中心三种角色
Eureka 是 Netflix 开发的服务发现组件,本身是一个基于 REST 的服务, SpringCloud将它继承在其子项目 spring-cloud-netflix 中,以实现 Springcloud 的服务注册与发现,同时还提供了负载均衡,故障转移等功能
Eureka Server
单节点
通过 Register、Get、Renew 等接口提供服务和发现
要运行您自己的服务器,请pom使用spring-cloud-starter-netflix-eureka-server依赖项和在启动类上添加@EnableEurekaServer。
访问 http://localhost:8761/eureka-server/ 看到 eureka 服务管理平台
eureka 集群
在搭建 Eureka 集群时,需要添加多个配置文件,并且使用Springboot的多环境配置方式,集群中需要多少节点就添加多个配置文件。 根据不同的配置文件到不同的节点进行部署即可
注意:
Application Server(Service Provider)
pom 文件需要
修改配置文件
Application Client(Service Consumer)