服务注册中心Eureka(1)--概念、定义、案例

一、概念和定义

1、服务治理:服务注册与服务发现

服务注册中心,提供服务治理功能,用来实现各个微服务实例的自动注册与发现.

服务注册与发现对于微服务系统来说非常重要。有了服务发现与注册,维护人员就不需要天天修改服务调用配置了,只需要使用服务标识符就可以访问到服务,功能类似于dubbo的注册中心(register)。

1.1、服务注册:维护服务清单,使用心跳检测清单中的服务是否可用,剔除不可用的节点

1.2、服务发现:支持调用方通过服务名发起请求调用(咨询得到发起调用),支持负载均衡

2、Eureka的服务治理实现

Eureka Server是服务注册中心,可以被高可用性的配置和部署,并且在注册的服务当中,每个服务状态可以互相复制给彼此。

Eureka Client是服务注册客户端,注册自己到Eureka Server, 提供自己的元数据(主机和端口,健康指标URL,首页等)

Eureka Server通过一个服务从各个实例接收Eureka Client发送的心跳信息。如果心跳接收失败超过配置时间,实例将会正常从注册里面移除。

Eureka Client通过HTTP(或者TCP,UDP)去Eureka Server注册和获取服务列表缓存到本地, 并周期性的刷新服务状态。

在SpringCloud中,客户端端负载均衡Ribbon、智能路由Zuul,都需要借助服务注册中心Eureka实现。

2.1、EurekaServer

注解:@EnableEurekaServer

配置:

server.port=1111

eureka.instance.hostname=localhost

eureka.client.register-with-eureka=false # 本应用为注册中心,设置为false,表示不向注册中心注册自己

eureka.client.fetch-registry=false # 本应用为注册中心,职责是维护服务实例,不需要检索服务,所以设置为false;客户端才配置为true

eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka

2.2、EurekaClient

注解:@EnableDiscoveryClient

配置:

server.port=8080

eureka.client.serviceUrl.defaultZone=http://locahost:1111/eureka # 指定服务注册中心的地址

二、开发案例:演示EurekaClient如何注册到EurekaServer

这里的EurekaClient即业务应用Application,采用配置项spring.application.name标识

1、开发一个EurekaServer注册中心

2、开发微服务ServiceHelloA和ServiceHelloB,并各自部署两个实例

 我直接开发了四个Eclipse Project,

 ServiceHelloA和ServiceHelloA2是微服务ServiceHelloA

 ServiceHelloB和ServiceHelloB2是微服务ServiceHelloB  

三、案例说明

1、控制台:EurekaServer: http://localhost:8101/

在这个例子里,有四个EurekaClient实例注册上来,其中,ServiceHelloA两个实例,分别是8201,8202端口,ServiceHelloB两个实例,分别是8221,8222端口。

image

2、服务实例

ServiceHelloA: 注册两个实例到EurekaService,每个实例注册一个
http://localhost:8201/HelloA?name=Lexiaofei-8201

image

http://localhost:8202/HelloA?name=Lexiaofei-8202

image

ServiceHelloB:
http://localhost:8221/HelloB?name=Liangshengqi-8221

image

http://localhost:8222/HelloB?name=Liangshengqi-8222

image
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,273评论 19 139
  • 概述 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错...
    PKAQ阅读 9,245评论 0 13
  • Spring Cloud学习02-服务注册与发现 Spring Cloud简介 Spring Cloud是一个基于...
    it_zzy阅读 10,125评论 2 20
  • 每个人都需要空白如纸,保持清洁的时候。 哪怕这个时间很短,只有那么一天,一上午,一小时。而清洁的内容,可以是自己的...
    diy1947阅读 1,895评论 0 1
  • 那条河,很像。 苦若背着不屈,生死带着乐意,从开始至结局,没有什么叫不幸。有着歌声的生活,希望不停歇;失去了歌声,...
    陈林旧阅读 1,621评论 0 0

友情链接更多精彩内容