1、概述

    1.1  Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能;

    1.2  Spring Cloud通过为Eureka增加了Spring Boot风格的自动化配置,我们只需要通过简单引入依赖、注解配置就能让Spring Boot构建的微服务应用轻松地与Eureka服务治理体系进行整合;

    1.3  Spring Cloud Eureka包含了服务端组件、客户端组件,并且均采用java编写;

          Eureka服务端:

            也称为服务注册中心;

            同其他服务注册中心一样,支持高可用配置;

            在SpringBoot启动类通过@EnableEurekaServer注解启动一个注册中心;

          Eureka客户端:

            处理服务注册、服务发现;

            客户端通过@EnableDiscoveryClient注解和参数配置的方式,嵌入在客户端应用程序的代码中

                在应用程序运行时,Eureka客户端向注册中心(Eureka服务端)注册自身提供的服务并周期性地发送心跳来更新它的服务租约;

                Eureka客户端也能从服务端查询当前注册的服务信息并把它们缓存到本地并周期性地刷新服务状态;

2、服务治理:

    微服务架构中最为核心、基础的模块;

    作用:实现各个微服务实例的自动化注册与发现

    为了解决微服务架构中的服务实例维护问题,产生了大量的服务治理框架和产品,这些框架和产品的实现都围绕着服务注册、服务发现机制来完成对微服务应用实例的自动化管理;

        1.1  服务注册

               在服务治理框架中,通常会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单;

                

        1.2  服务发现

                由于在服务治理框架下运作,服务间的调用不再通过指定具体的实例地址来实现,而是通过向服务名发起请求调用实现;

                服务调用方在调用服务提供方接口的时候,并不知道提供方的服务实例的具体位置,需要向服务注册中心咨询服务,并获取所有服务实例清单,以实现对具体实例的访问;

3、高可用注册中心

    1.1  在Eureka的服务治理设计中,所有的节点既是服务提供方,也是服务消费方,服务注册中心也一样;

        Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样可以形成一组互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果;

    1.2  暂搁置

4、服务发现与消费

    1.1  服务发现的任务由Eureka的客户端完成;

    1.2  服务消费Ribbon完成;

          Ribbon

            一个基于HTTP和TCP的客户端负载均衡器;

            通过在客户端中配置的ribbonServerList服务端列表去轮询访问以达到负载均衡的作用;

            当Ribbon和Eureka联合使用时,Ribbon的服务实例清单RibbonServerList会被DiscoveryEnableNIWSServerList重写,扩展成从Eureka注册中心获取服务端列表,同时也会用NIWSDiscoveryPing来取代IPing,它将职责委托给Eureka来确定服务端是否已经启动;

5、Eureka详解

    1.1  基础架构

          服务注册中心:

             EurekaServer

          服务提供者:

             提供服务的应用,可以是Spring boot应用,也可以是其他技术平台(遵循Eureka通信机制的应用);

          服务消费者:

             消费者应用从服务注册中心获取服务列表,从而使消费者可以知道去哪调用其需要的服务;

    1.2  通信机制

          Eureka采用了     与平台无关性的   基于HTTP的Rest接口

          默认情况下,Eureka使用Jersey、XStream配合json作为Server与Client之间的通信协议:

              Jersey:JAX-RS的参考实现;

                JAX-RS:

                  java EE6引入的新技术,即java API for Restful Web Services;

              XStream:将对象序列化成json、反序列化为对象的一个java类库;

SpringCloud---服务治理---Spring Cloud Eureka的更多相关文章

  1. 【SpringCloud微服务实战学习系列】服务治理Spring Cloud Eureka

    Spring Cloud Eureka是Spring Cloud Netflix微服务中的一部分,它基于NetFlix Sureka做了二次封装,主要负责完成微服务架构中的服务治理功能. 一.服务治理 ...

  2. 服务治理-> Spring Cloud Eureka

    服务治理->搭建服务注册中心 服务治理可以说是微服务架构中最为核心和基础的模块, 它主要用来实现各个微服务 实例的自动化注册与发现. 为什么我们在微服务架构中那么需要服务治理模块呢?微服务 系统 ...

  3. 笔记:Spring Cloud Eureka 服务治理

    Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能,服务 ...

  4. 第三章 服务治理:Spring Cloud Eureka

    Spring Cloud Eureka是Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能.Spri ...

  5. Spring Cloud Eureka 服务治理

    Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能,服务 ...

  6. 1 Spring Cloud Eureka服务治理

    注:此随笔为读书笔记.<Spring Cloud微服务实战> 什么是微服务? 微服务是将一个原本独立的系统拆分成若干个小型服务(一般按照功能模块拆分),这些小型服务都在各自独立的进程中运行 ...

  7. Spring Cloud微服务笔记(三)服务治理:Spring Cloud Eureka快速入门

    服务治理:Spring Cloud Eureka 一.服务治理 服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册与发现. 1.服务注册: 在服务治理框架中,通常会构 ...

  8. 第三章 服务治理: Spring Cloud Eureka

    Spring Cloud Eureka是 Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能 服务治理 ...

  9. Spring cloud Eureka 服务治理(搭建服务注册中心)

    服务之类是微服务架构中最为核心的基础模块,它主要用来实现各个微服务实例的自动化注册和发现. 1. 服务注册 在服务治理框架中,通常会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机. ...

随机推荐

  1. 列表推导式对比For循环执行效率

    我们在前面的学习中都知道,如果把1-10以内的元素追加到一个新的列表表中,如果使用for循环我们可以这么做: a = [] for i in range(1,11): a.append(i) prin ...

  2. Instruments Tutorial for iOS: How To Debug Memory Leaks【转】

    If you're new here, you may want to subscribe to my RSS feed or follow me on Twitter. Thanks for vis ...

  3. Training Very Deep Networks

    Rupesh Kumar SrivastavaKlaus Greff ̈J urgenSchmidhuberThe Swiss AI Lab IDSIA / USI / SUPSI{rupesh, k ...

  4. Tomcat与Web.xml配置

    1.编码配置 <Connector acceptCount=”100″ connectionTimeout=”20000″ disableUploadTimeout=”true” enableL ...

  5. python 读取mysql存储的文件路径下载文件,内容解析,上传七牛云,内容入es

    #!/usr/bin/env python # -*- coding: utf-8 -*- import ConfigParser import json import os import re fr ...

  6. 国外物联网平台(4):Ayla Networks

    国外物联网平台(4)——Ayla Networks 马智 定位 Ayla企业软件解决方案为全球部署互联产品提供强大的工具 功能 Ayla的IoT平台包含3个主要组成部分: (1) Ayla嵌入式代理A ...

  7. 关于使用idea的一些小技巧

    1:idea与git同步以后查看修改变化: file --setting--versioncontorller

  8. 进阶Kotlin-常见关键字

    常见Kotlin 的关键字   一些常见的语法,我没有写注释. 前面基础的kotlin语法已经弄完了. 现在是高阶kotlin的语法啊. 包括,面向对象,lambad等. 其中面向对象的三大特点:封装 ...

  9. ajax标准格式

    jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. $.ajax({    url:"http://www.test.co ...

  10. Django之跨域请求同源策略

    同源策略: 首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性. 而如果我们要跳过这个策略,也就是说非要跨域请求,那么就需要通过 ...