• Eureka 入门教程


    Eureka 介绍
    1. 注册中心概述

    什么是注册中心?

    客户端提供可供调用的服务列表,客户端在进行远程调用(RPC)时,根据服务列表选择服务提供方的服务地址进行服务调用

    注册中心的核心功能

    • 注册:服务提供者上报服务的描述信息
    • 发现:消费者根据服务名称获取对应的服务描述信息
    • 服务健康检测/探活机制:主要目的是更新注册表中的服务列表

    业界常用的注册中心有如下几种

    Zookeeper(Java)、etcd(Go)、Consul(Go)、Eureka(Java)、Nacos(Java)

    2. Eureka基础概念

            Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运 行在 AWS(Amazon Web Services,亚马逊网络服务,亚马逊云)域中的中间层服务,以达到 负载均衡和中间层服务故障转移的目的。SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,实现 SpringCloud 的服务发现功能。其实,Eureka 就是一个专门用于服务发现的服务器,一些服务注册到该服务器,而另一 些服务通过该服务器查找其所要调用执行的服务。可以充当服务发现服务器的组件很多,例 如 Zookeeper、Consul 等。

    Eureka的体系架构

    image-20201225174716107.png

    3 CAP定理
    • 概念

      CAP 定理指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、 Partition tolerance(分区容错性),三者不可兼得。

      • 一致性(C):分布式系统中多个主机之间是否能够保持数据一致的特性。即,当系统数据发生更新操作后,各个主机中的数据仍然处于一致的状态。

      • 可用性(A):系统提供的服务必须一直处于可用的状态,即对于用户的每一个请求,系 统总是可以在有限的时间内对用户做出响应。

      • 分区容错性(P):分布式系统在遇到任何网络分区故障时,仍能够保证对外提供满足一

        致性和可用性的服务。

    • 定理

      CAP 定理的内容是:对于分布式系统,网络环境相对是不可控的,出现网络分区是不可 避免的,因此系统必须具备分区容错性。但系统不能同时保证一致性与可用性。即要么 CP, 要么 AP。

    4. Eureka异地多活

            Eureaka中的Region和Avaliablity Zone概念是云计算的概念,为了方便不同地理区域中用户的使用,大型云服务提供商一般会根据用户需求量在不同的城市、省份、国家或者洲创建不同的大型云计算机房。这些不同区域机房房间一般是不能"内网联通"的,这些区域就是一个Region

            这里存在一个问题,同一个Region机房是如何实现同域容灾的?位了增强容灾能力,在一个Region中又设置了不同的Avaliablity Zone,这些AZ间实现了内网联通,且用户可以根据自己的具体位置自动选择同域中的不同AZ,当用户所要访问的AZ出现问题后,系统会自动切换到其他可用的AZ

    Eureka 简单使用

    Eureka 分为了客户端和服务端,下面分别介绍sever和client的简单使用和配置

    eureka-server

    加入依赖


           org.springframework.cloud
           spring-cloud-starter-netflix-eureka-server
       

    标注EurekaServer 

    @EnableEurekaServer //表示是EureakaServer
    @SpringBootApplication
    public class EurekaServer01Application {
        public static void main(String[] args) {
            SpringApplication.run(EurekaServer01Application.class, args);
        }
    }

    简单配置 

    eureka:
      instance:
        #指定Eureka主机 localhost 表示本机
        hostname: localhost
      client:
        #是否注册到Eurka Server中 在这里表示是否需要自己注册自己
        register-with-eureka: true
        service-url:
          #注册中心EurekaSever的地址,如果是集群的话,可以在defaulZone 配置为集群中其他的机器,多个的话 用“,”隔开
          defaultZone: http://localhost:18081/eureka/ 

    启动访问

    http://localhost:18081 

     eureka-client

    加入依赖


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

    简单配置

    eureka:
      instance:
        hostname: localhost
      client:
        service-url:
          defaultZone: http://localhost:18081/eureka/

    启动访问

    http://localhost:18081

     

  • 相关阅读:
    【论文阅读】(2017)The late acceptance Hill-Climbing heuristic
    springBoot--web--函数式web
    彻底卸载Windows Defender
    【AtomicLong】常规用法
    文心一言 VS 讯飞星火 VS chatgpt (109)-- 算法导论10.1 7题
    API安全的应用和分析
    哪种猫罐头比较好?推荐给新手养猫的5款好口碑猫罐头!
    4. 吴恩达机器学习--偏差与方差
    Win11 + docker + tensorflow serving 完成模型部署
    儿童台灯哪个品牌更护眼推荐?2022年最新护眼台灯十大品牌排行榜
  • 原文地址:https://blog.csdn.net/hefeng_aspnet/article/details/136336151