二、Eureka注册中心

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

目录

注册中心主要有三种角色:

1、服务提供者(RPC Server)

2、服务消费者(RPC Client)

3、服务注册中心(Registry)

注册中心实现原理

常用的注册中心:

常用注册中心对比:

 Eureka 的工作流程:

一、搭建Eureka注册中心微服务,提供注册中心功能

1、在springcloud父项目下创建聚合项目springcloud-eureka,在springcloud-eureka项目的pom文件引入eureka服务端依赖

2、添加application.yml配置文件

3、添加EurekaApp.class启动类上添加注解@EnableEurekaServer表示当前项目为Eureka服务端

4、运行启动类

5、访问注册中心地址http://localhost:8090/

二、使用Eureka注册中心

1、在springcloud-member、springcloud-order、springcloud-pay项目的pom文件中添加eureka客户端依赖

2、在springcloud-member、springcloud-order、springcloud-pay项目的application.yml文件中分别添加以下配置

3、在springcloud-member、springcloud-order、springcloud-pay项目的启动类上添加注解@EnableEurekaClient表示当前项目为Eureka客户端

4、运行springcloud-member、springcloud-order、springcloud-pay项目的启动类

5、打开Eureka注册中心地址http://localhost:8090/

三、注册中心缓存更新

1、在springcloud-eureka项目的配置文件中,修改Eureka Server的配置

2、客户端配置文件修改


注册中心原理

注册中心主要有三种角色:

1、服务提供者(RPC Server)

在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。

2、服务消费者(RPC Client)

在启动时,向 Registry 订阅服务,把 Registry 返回的服务节点列表缓存在本地内存中,并与 RPC Sever 建立连接。

3、服务注册中心(Registry)

用于保存 RPC Server 的注册信息,当 RPC Server 节点发生变更时,Registry 会同步变更,RPC Client 感知后会刷新本地 内存中缓存的服务节点列表。

最后,RPC Client 从本地缓存的服务节点列表中,基于负载均衡算法选择一台 RPC Sever 发起调用。

 

注册中心实现原理

1、服务的提供者在启动时把自身的服务接口信息注册到注册中心,这时每个服务与注册中心保持一个长连接,并以心跳包的形式与注册中心进行通讯

2、客户端在启动的时候往注册中心订阅它所需要的服务列表信息,把它订阅的服务列表缓存到本地

3、当客户端需要调用服务端接口时,从本地缓存中获取地址列表,通过本地负载均衡策略选择具体的服务地址,再通过RPC(FeignClient)进行远程调用

4、注册中心会保存服务地址列表信息和客户端的订阅信息

5、当服务出现不可用时(宕机),注册中心会剔出不可用服务地址,再通过事件通知给订阅的客户端

常用的注册中心:

  1. Eureka(netflix)  AP
  2. Zookeeper     CP
  3. Consul        CP
  4. Nacos(Alibaba)  AP/CP

常用注册中心对比:

 Eureka 的工作流程:

1、Eureka Server 启动成功,等待服务端注册。在启动过程中如果配置了集群,集群之间定时通过 Replicate 同步注册表,每个 Eureka Server 都存在独立完整的服务注册表信息。

2、Eureka Client 启动时根据配置的 Eureka Server 地址去注册中心注册服务。

3、Eureka Client 默认会每 30s 向 Eureka Server 发送一次心跳请求,证明客户端服务正常。

4、当 Eureka Server 90s 内没有收到 Eureka Client 的心跳,注册中心则认为该节点失效,会注销该实例。

5、单位时间内 Eureka Server 统计到有大量的 Eureka Client 没有上送心跳,则认为可能为网络异常,进入自我保护机制,不再剔除没有上送心跳的客户端。

6、当 Eureka Client 心跳请求恢复正常之后,Eureka Server 自动退出自我保护模式。

7、Eureka Client 定时全量或者增量从注册中心获取服务注册表,并且将获取到的信息缓存到本地。

8、服务调用时,Eureka Client 会先从本地缓存找寻调取的服务。如果获取不到,先从注册中心刷新注册表,再同步到本地缓存。

9、Eureka Client 获取到目标服务器信息,发起服务调用。

10、Eureka Client 程序关闭时向 Eureka Server 发送取消请求,Eureka Server 将实例从注册表中删除

一、搭建Eureka注册中心微服务,提供注册中心功能

1、在springcloud父项目下创建聚合项目springcloud-eureka,在springcloud-eureka项目的pom文件引入eureka服务端依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>
SpringCloud-01-Eureka注册中心 defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ #指定注册中心的地址。我们可以看到,我们的访问地址是localhost,我们实际开发的时候去看别人的服务信息,肯定不会是localhost呀,所以要改为真实的ip地址,我们如何开启呢?首先让我们开启一个3个相互关联的注册中心(集群),并注册进去一个服务! 阅读详情

相关推荐

、Spring Cloud之注册中心 Eureka

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!va开发知识点,真正体系化!**

2401_84010816的博客 892

Eureka注册中心

Eureka注册中心功能:服务注册与服务发现。 提供者与消费者。在服务调用关系中,会有两个不同的角色: 服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务) 服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口) 服务既可以是服务提供者,也可以是服务消费者。......

Odinpeng的博客 3372

springcloud():注册中心Eureka

Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。 背景介绍 服务中心 服务中心又称注册中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。 有了服务中心调用关系会有什么变化,画几...

dency 229

三、Eureka服务注册中心

目录前言一、 前言 上一节中我们介绍了服务治理并使用HttpClient实现了RPC远程调用 但是还存问题,如果生产者的ip和端口号改变,消费者的代码就势必要进行修改 本节我们将介绍Eureka服务注册中心来解决该问题 一、 ...

qq23001186的博客 3676

SpringCloud(注册中心Eureka

Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。## 背景介绍。

L08130421的博客 1233

Spring Cloud 系列之 Netflix Eureka 注册中心

本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Netflix Eureka 注册中心(一) 本篇文章讲解 Eureka 集群、架构原理、自我保护、优雅停服、安全认证等功能实现。 高可用 Eureka 注册中心 点击链接观看:高可用 Eureka 注册中心视频(获取更多请关注公众号「哈喽沃德先生」) 注册中心 eureka-server 创建项目 在 S...

哈喽沃德先生的博客 461

SpringCloud学习()——Eureka注册中心

SpringCloud Eureka 注册中心讲解

ifhuke的博客 394

eureka注册中心集群

Spring Cloud 2.x系列之 eureka注册中心集群 1、 Eureka作为spring cloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单机模式下的eureka服务,显然不能满足高可用的实际生产环境,这就要求配置一个能够应对各种突发情况,具有较强容灾能力的eureka服务。Eureka通过“伙伴机制”实现高可用。每一台Eureka都需要在配置中指定另外两个Eure...

天行健,君子以自强不息;地势坤,君子以厚德载物。 477

Spring Cloud Eureka):Eureka 注册中心体验

1、Eureka 简述 本文主要从应用角度体验一下注册中心的搭建和使用,后文会由浅入深学习Spring Cloud Eureka 的各种原理和机制。 Spring Cloud Eureka 是 Spring Cloud Netflix 组件的一部分,而 Spring Cloud Netflix 又是基于 netflix 的 eureka 封装,所以最终的源码实现在于 eureka 中。废话不多说,...

码客 1043

)SpringCloud-Eureka注册中心

Eureka注册中心 1、服务端和客户端部署demo 2、针对eureka配置进行讲解

Session_s的博客 2055

springCloud之 注册中心Eureka

注册中心Eureka)提供服务的注册和发现功能。每一个微服务都要到注册中心将自己的信息进行注册,才能被已经注册的其他微服务发现和访问。注册中心Eureka服务端和Eureka客户端组成服务端主要提供注册和发现功能,客户端主要是每一个微服务 注册中心搭建 一,创建一个springboot项目,引入springcloud pom文件注册中心依赖如下: 1,指定springcloud 版本 <properties> &l...

chenxing12345678hhh的博客 157

Eureka注册中心

title: SpringCloud学习总结 date: 2020-06-10 categories: Eureka注册中心 tags: SpringCloud Eureka注册中心 RestTemplate Eureka注册中心) 1.编写服务消费者 1.1 直接调用接口 创建一个maven项目service-consumer,然后添加依赖,依赖和服务提供者的一样。启动类也一样。 唯一不一样的是配置信息: spring.application.name=service-consumer se.

m0_43394686的博客 127
上一篇: 一、RestTemplate的使用
下一篇: 三、Eureka使用ip地址作为host的配置方法
Tony_chenph
博客等级 码龄8年 461粉丝 · 78原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值