Spring cloud系列四 Eureka 之概述和服务注册中心集群
2017-10-12 22:28
961 查看
1. 概述
之前的博客的Spring cloud系列一 包含所有基本要素的完整Spring Cloud dem这一节介绍如何启动一个简单注册中心,但是这个例子有个问题注册中心为单点,一但这个节点故障,则整个服务不可用。本节我们先对Eureka进行概述,然后介绍如何对注册中心进行集群。2. Eureka概述
2.1. Eureka分类
Spring Cloud针对服务注册与发现,进行了一层抽象,并提供了三种实现:Eureka
Consul
Zookeeper
Spring Cloud对Eureka的支持最好,本文只介绍Eureka用法。
在Eureka中,所有的Eureka服务都被称为实例(instance),这些实例又分成为两大类:
Eureka Server: Eureka的服务端,即服务注册中心,负责维护所有实例的注册信息
Eureka Client: Eureka的客户端,根据功能又分为两类
a. Service Provider:服务提供方,向Eureka Server做服务注册、续约和下线等操作,注册的主要数据包括服务名、机器ip、端口号、域名等等
b. Service Consumer:服务消费方, 向Eureka Server获取Service Provider的注册信息,并通过远程调用与Service Provider进行通信
可以将Service Provider和Service Consumer理解为角色。一个Eureka Client可以只是Service Provider,也可以只是Service Consumer,也可以同时即是Service Provider也是Service Consumer。
2.2. Eureka配置参数
理解了上节的概念,我们来对Eureka的配置参数进行理解,它的配置主要分为三类:eureka.instance.*: Eureka实例注册配置项,这些是无论Eureka是做Server端,还是做Client端都需要的公共配置项。这些属性配置在类org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean中
eureka.server.*: Eureka做为Eureka Server才需要配置的选项,即使用eureka做注册中心时才需要配置这个选项。这些属性配置在类org.springframework.cloud.netflix.eureka.EurekaClientConfigBean中
eureka.client.*: Eureka做为Eureka Client才需要配置的选项,即服务需要向注册中心注册(实例做为Service Provider时)或使用注册中心中的服务(实例做为Service Consumer时)时才需要配置这些选项。这些属性配置在类org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean中
3. Eureka Server 注册中心集群
3.1. 单机Eureka Server 注册中心的配置
单机注册中心的配置见这篇博客的Spring cloud系列一 包含所有基本要素的完整Spring Cloud dem这一节3.2 实现Eureka Server注册中心集群
Eureka官网的架构图如上图所示,为了解决Eureka Server单点的问题,我们可以启动多个Eureka Server注册中心,并让多个Eureka Server注册中心相互注册,这样可以实现Eureka Server注册中心集群。这是一种去中心化的架构中,各个节点是平等的,每个节点都保存完整实例注册服务的信息。
参数配置
配置多注册中心和单个注册中心基本相同,唯一的不同是eureka.client.serviceUrl配置。如本节我们配置一个注册中心集群,它包含两台服务,IP和端口分别是192.168.21.4:10761和192.168.21.3:10761,则Eureka Server对应的配置是
eureka: client: # 设置eureka服务器所在的地址,查询服务和注册服务都需要依赖这个地址 serviceUrl: # defaultZone: http://127.0.0.1:10761/eureka/ # 设置eureka服务器所在的地址,可以同时向多个服务注册服务 defaultZone: http://192.168.21.3:10761/eureka/,http://192.168.21.4:10761/eureka/[/code]
如果Eureka client要使用注册中心集群,其它配置和使用单机注册中心相同,只需要修改defaultZone配置:eureka: client: # 设置eureka服务器所在的地址,查询服务和注册服务都需要依赖这个地址 serviceUrl: # defaultZone: http://127.0.0.1:10761/eureka/ # 设置eureka服务器所在的地址,可以同时向多个服务注册服务 defaultZone: http://192.168.21.3:10761/eureka/,http://192.168.21.4:10761/eureka/
“Eureka官网的架构图”除了介绍注册中心外,还涉及服务实例的注册、续约、下线等功能,我们在下节在介绍。4. 代码
以上的详细的代码见下面
github代码,请尽量使用tag v0.4,不要使用master,因为我不能保证master代码一直不变
相关文章推荐
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- Spring Cloud Eureka 入门 (一)服务注册中心详解 「Spring Cloud Eureka 入门系列」 Spring Cloud Eureka 入门 (一)服务注册中心详解 Spr
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- springcloud实战之3 高可用服务注册中心(eureka集群)
- 微服务架构 SpringCloud(三)Eureka(注册中心集群篇)
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 学习笔记系列之SpringCloud | 第一章 服务注册中心(Eureka)
- 【Spring Cloud】三、Eureka Consumer 服务注册中心消费者调用服务
- 【Spring Cloud】Eureka服务注册中心搭建
- 【Spring Cloud】Eureka服务注册中心搭建
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群
- 【Spring Cloud】Eureka服务注册中心搭建
- 【Spring Cloud】Eureka服务注册中心搭建
- 【Spring Cloud】Eureka服务注册中心搭建
- springcloud微服务二:Eureka服务治理之服务注册中心
- 【Spring Cloud】Eureka服务注册中心搭建
- Spring-Cloud-Eureka服务注册发现中心server+client案列模拟说明