【SpringCloud】SpringCloud 之 Eureka注册中心(二)

Eureka简介

  Eureka是一项基于REST(代表性状态转移)的服务,主要在AWS云中用于定位服务,以实现负载均衡和中间层服务器的故障转移。我们称此服务为Eureka Server。Eureka还带有一个基于Java的客户端组件Eureka Client,它使与服务的交互更加容易。客户端还具有一个内置的负载均衡器,可以执行基本的循环负载均衡。在Netflix,更复杂的负载均衡器将Eureka包装起来,以基于流量,资源使用,错误条件等多种因素提供加权负载均衡,以提供出色的弹性。

  Git地址:https://github.com/Netflix/eureka

  服务治理

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

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

  服务注册

  Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心,而系统中的其他服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过Eureka Server来监控系统中各个微服务是否正常运行。在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息,比如服务地址、通讯地址等以别名方式注册到注册中心上,另一方(消费者|服务提供者),以该别名的方式去注册中心上获取实际的服务通讯地址,然后在实现本地RPC调用RPC远程调用框架核心设计思想:在于注册中心,因为使用注册中心管理每个服务与服务之间的一个依赖关系(服务治理概念)。在任何rpc远程框架中,都会有一个注册中心(存放服务地址相关信息(接口地址))

Eureka两组件

  Eureka Server

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

  Eureka Client    

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

Eureka架构

  

  说明:

    Register(服务注册):把自己的IP和端口注册给Eureka。

    Renew(服务续约):发送心跳包,每30秒发送一次。告诉Eureka自己还活着。

    Cancel(服务下线):当provider关闭时会向Eureka发送消息,把自己从服务列表中删除。防止consumer调用到不存在的服务。

    Get Registry(获取服务注册列表):获取其他服务列表。

    Replicate(集群中数据同步):eureka集群中的数据复制与同步。

    Make Remote Call(远程调用):完成服务的远程调用。

单机版Eureka Server

  参考:【SpringCloud】SpringCloud 快速入门(一)

原文地址:https://www.cnblogs.com/h--d/p/12638674.html

时间: 2024-07-30 14:48:34

【SpringCloud】SpringCloud 之 Eureka注册中心(二)的相关文章

SpringCloud教程一:eureka注册中心(Finchley版)

一.spring cloud简介 本阶段学习教程Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE. Finchley版本的官方文档如下: http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总

springcloud系列(一) eureka注册中心集群搭建 服务消费方调用提供方

说明 eureka server为集群方式,有三个节点.服务消费者调服务提供者现在是使用了InstanceInfo的 homePageUrl("http://192.168.10.1:8001/") 代码在这里 https://gitee.com/lddxfs/microservice-parent 原文地址:https://www.cnblogs.com/LDDXFS/p/9955613.html

Spring Cloud第二篇 | 使用并认识Eureka注册中心

? 本文是Spring Cloud专栏的第二篇文章,了解前一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 ?? 一.SpringCloud快速开发入门 SpringCloud是构建在SpringBoot基础之上的 1.创键一个服务提供者(springcloud-service-provider) 1-1.创键提供者类 @RestController @RequestMapping("/provider") pub

SpringCloud之eureka注册中心入门

eureka注册中心 一.基本概念 SpringCloud封装 了Netflix公司的eureka作为自己微服务的注册中心.这个注册中心和dubbo中的zookeeper很相似,简单来说,只要你可以将你的"微服务"模块注册到注册中心,就可以供其他服务调用,一般来说,只有provider会注册到eureka,consumer也可以注册,但是并不建议这么做. eureka的架构图如下: 二.在SpringCloud项目中使用eureka 要想使用SpringCloud的子模块,一般分为两步

SpringCloud(一)Eureka注册中心

Eureka简介 Eureka作为注册中心,管理各种服务功能包括服务的注册.发现.熔断.负载.降级等 Eureka注册中心实例 Eureka Server 1.pom文件配置SpringBoot.SpringCloud的依赖: 2.启动类配置 @EnableEurekaServer 注解,表示注册中心: /** * SpringCloud是基于SpringBoot的,这是一个启动类的注解 */ @SpringBootApplication /** * 这是注册中心Eureka的注解 */ @En

SpringCloud学习心得—1.2—Eureka注册中心的密码认证、高可用的设置

SpringCloud学习心得—1.2—Eureka注册中心的密码认证.高可用的设置 这是相关代码 链接 Eureka开启密码配置 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> 向properties添加密码与用户名 spr

Spring-cloud微服务实战【三】:eureka注册中心(中)

??回忆一下,在上一篇文章中,我们创建了两个springboot项目,并且在consumer项目中通过restTemplate进行HTTP通信,成功访问到了producer提供的接口,思考一下这样的实现方式有什么问题? ??1.consumer必须知道producer的IP,才能调用对方的HTTP接口,并且在consumer代码中使用硬编码的方式来访问producer的HTTP接口,代码耦合度高,实现方式不优雅.也许有童鞋会说,我们可以在application.properties配置文件进行配

Spring-cloud微服务实战【四】:eureka注册中心(下)

回忆一下,在上一篇文章中,我们使用eureka作为注册中心,将producer注册到eureka,并且在consumer中通过eureka发现producer服务进行调用,让我们来分析一下,这样是否已经足够完美,还有没有什么问题? 1.首先,eureka没有任何安全验证,任何应用都可以访问,这显然不安全,因此eureka也需要使用spring-security配置用户密码验证. 2.其次,所有服务注册和发现都需要通过eureka,而我们的eureka目前是单机运行,这就有可能导致单点问题,一旦e

springCloud Eureka注册中心原理及配置理解

Eureka 配置流程 原理:     服务提供方启动后将注册到 注册中心,提供IP, 名字,什么服务等信息, 服务调用方作为客户端注册到注册中心后,拉取注册中心的服务列表,在通过负载均衡调用对应的服务提供方. 注册中心可以建立集群,生成多台eureka,注册中心为了监测各个服务的心跳,将在每30S 向所注册的服务发起请求判断 服务是否挂掉,如果挂掉90S后将会将服务从注册中心剔除. 一个服务可以监测多台服务实例,从而可实现均很负载. 配置步骤:  一.加依赖 以下指POM文件 <!--注册中心

SpringCloud Eureka(注册中心集群)

多个注册中心,其实用不同的配置对应 不同的端口号注册就行了. 注册中心自己也是个服务,看看之前的单个注册中心是怎么样的呢? server: port: 8888 # 服务端口eureka: instance: hostname: localhost # 设置主机名 client: registerWithEureka: false # 是否向 Eureka 注册服务.该应用为服务注册中心,不需要自注册,设置为 false fetchRegistry: false # 是否检索服务.该应用为服务注