二、Eureka服务注册与发现
创始人
2024-03-07 12:12:25
0

Eureka服务注册与发现

Eureka基础知识

什么是服务治理

SpringCloud封装了Netflix公司开发的Eureka模块来实现服务治理。

在传统的RPC远程调用框架中,管理每个服务与服务之间依赖关系比较复杂、所以需要进行服务治理,管理服务与服务之间依赖关联,以实现服务调用,负载均衡、容错等,实现服务发现与注册。

什么是服务注册

Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。

而系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员可以通过Eureka Server来监控系统中各个微服务是否正常运行。

在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息,比如:服务通讯地址等以别名方式注册到注册中心上。

另一方(消费者服务),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后,再实现本地RPC远程调用。

**RPC远程调用框架核心设计思想:**在于注册中心,因为使用注册中心管理每个服务与服务之间的一个依赖关系(服务治理概念)。

在任何RPC远程框架中,都会有一个注册中心(存放服务地址相关信息(接口地址))。

Eureka两组件

  • Eureka Server提供服务注册服务

各个微服务节点通过配置启动后,会在Eureka Server中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。

  • Eureka Client通过注册中心进行访问

是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会在Eureka Server发送心跳(默认周期30秒)。如果Eureka Server在多个心跳周期内没有收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移出(默认90秒)

单机Eureka构建步骤

IDEA生成eurekaServer端服务注册中心

建Module:cloud-eureka-server7001

改POM


cloud2021com.aqrlmy.springcloud1.0-SNAPSHOT4.0.0cloud-eureka-server7001org.springframework.cloudspring-cloud-starter-netflix-eureka-servercom.aqrlmycloud-api-commons${project.version}org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-actuatororg.springframework.bootspring-boot-devtoolsruntimetrueorg.projectlomboklombokorg.springframework.bootspring-boot-starter-testtestjunitjunit

写YML

server:port: 7001eureka:instance:hostname: localhostclient:register-with-eureka: falsefetchRegistry: falseservice-url:defaultZone: http://localhost:7001/eureka

主启动

@EnableEurekaServer

测试

http://localhost:7001/

服务提供者

EurekaClient端cloud-provider-payment8001将注册进EurekaServer成为服务提供者provider

修改Module:cloud-provider-payment8001

改POM

org.springframework.cloudspring-cloud-starter-netflix-eureka-client

写YML

eureka:client:register-with-eureka: truefetchRegistry: trueservice-url:defaultZone: http://localhost:7001/eureka

主启动

@EnableEurekaClient

测试

先启动EurekaServer

http://localhost:7001/

服务消费者

EurekaClient端cloud-consumer-order80将注册进EurekaServer成为服务消费者consumer

修改Module:cloud-consumer-order80

POM

org.springframework.cloudspring-cloud-starter-netflix-eureka-client

写YML

eureka:client:register-with-eureka: truefetchRegistry: trueservice-url:defaultZone: http://localhost:7001/eureka

主启动

@EnableEurekaClient

测试

  1. 先要启动EurekaServer,7001服务
  2. 再要启动服务提供者8001服务和服务消费者80服务
  3. eureka服务器

  1. 测试查询:http://localhost/consumer/payment/get/31
  2. 测试添加:postman测试添加
  3. 测试8001服务和80服务效果一样

相关内容

热门资讯

靖国神社,被起诉 张昀/央视新闻 当地时间23日,二战期间被强征兵役的韩军遗属等举行记者会,介绍诉讼内容。 当地时间...
蓝科高新(601798)披露制... 截至2025年12月24日收盘,蓝科高新(601798)报收于9.0元,较前一交易日下跌0.33%,...
[视频]被日强征韩籍军人遗属起... 央视网消息(新闻联播):二战时期被日军强制征兵的部分韩籍军人的遗属23日向韩国首尔中央地方法院提起诉...
镇江经开民警巧妙化解停车纠纷,... 扬子晚报网12月24日讯(通讯员 毛润民 雷楚楚 记者 姜天圣)12月20日晚,镇江经开区丁卯派出所...
“国际”清风 | “宪法引领·... 在医院党委的高度重视和支持下,为深入学习宣传宪法、弘扬宪法精神,切实提升全院员工的法治素养,我院于第...
重庆大渡口刑警破获尘封40年命... 近日,重庆市大渡口区公安分局刑事侦查支队破获一起尘封40年的命案积案,并成功抓获一名潜逃28年的命案...
原创 中... 美军在公海强行扣押一艘中国油轮,抢走180万桶委内瑞拉原油。特朗普高调宣称:“油我们留着,船也要留着...
靖国神社被起诉,他们索赔8.8... 当地时间23日,二战时期被日军强制征兵的部分韩籍遇难者遗属向首尔中央地方法院提起诉讼,要求日本靖国神...
自贸港法规如何“量身定制”?海... 《海南自由贸易港建设总体方案》明确提出,分步骤、分阶段建立自由贸易港政策和制度体系。因此,“十四五”...
河北廊坊一学校催缴学生医保引家... 近日,河北廊坊市安次区有学生家长向奔流新闻反映,廊坊市第十七中学(小学部)老师在家长群发布医保催缴通...