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

加入依赖

<dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>

标注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

加入依赖

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

简单配置

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

启动访问

http://localhost:18081

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/498349.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统—xv6内核环境配置

文章目录 xv6内核环境配置1.开发环境的准备(1).如果日常用Linux(2).Windows的回合#1.两个常见方法#2.wsl的一点安装细节#3.记得升级成wsl-2 (3).如果你是macOS#1.一些起因#2.最乐的一集#3.Homebrew的配置#4.mac用户的特权 2.先换apt源3.安装xv6的依赖4.克隆RISC-V GNU 编译器工…

docker中hyperf项目配置虚拟域名

在学习hyperf框架时遇到一些问题&#xff0c;这里是直接用了docker环境 下载镜像运行容器 docker run --name hyperf -v /data/project:/data/project -p 9501:9501 -itd -w /data/project --privileged -u root --entrypoint /bin/sh 镜像ID配置docker-compose.yml version…

pytorch 图像数据集管理

目录 1.数据集的管理说明 2.数据集Dataset类说明 3.图像分类常用的类 ImageFolder 1.数据集的管理说明 pytorch使用Dataset来管理训练和测试数据集&#xff0c;前文说过 torchvision.datasets.MNIST 这些 torchvision.datasets里面的数据集都是继承Dataset而来&#xff0c…

【LeetCode:108. 将有序数组转换为二叉搜索树 + 二叉树+递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Node.js+Express后端,自定义接口

6分钟学会Express 后端 API 开发 Node.js 2020最新版_哔哩哔哩_bilibili 要使用Node.js和Express搭建一个简单的后台服务器,用于接收带有token的请求头,你可以按照以下步骤进行操作: 首先,确保你已经安装了Node.js和npm(Node.js的包管理器)。 创建一个新的项目文件夹并…

VUE3:统计分析页面布局+自适应页面参考

一、布局 <template><div class"container1"><div class"form white"><el-form :inline"true" :rules"rules" :model"queryParams" label-width"80px" ref"querParmRef"><e…

apache 模式、优化、功能 与 nginx优化、应用

一、I/O模型——Input/Output模型 1.同步/异步 A程序需要调用B程序的某一个功能&#xff0c;A发送一个请求需要B完成一个任务 同步&#xff1a;B不会主动去通知A是否完成需要A自己去问 异步&#xff1a;B会主动通知A是否完成 2.阻塞/非阻塞 A发送一个请求需要B完成一个任务 …

hive报错:FAILED: NullPointerException null

发现问题 起因是我虚拟机的hive不管执行什么命令都报空指针异常的错误 我也在网上找了很多相关问题的资料&#xff0c;发现都不是我这个问题的解决方法&#xff0c;后来在hive官网上与hive 3.1.3版本相匹配的hadoop版本是3.x的版本&#xff0c;而我的hadoop版本还是2.7.2的版本…

简单1步搞定 NET Framework 3.5 ,离线下载

https://download.csdn.net/download/m0_72735063/88889747?spm1001.2014.3001.5503

Redisson限流算法

引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.12.3</version> </dependency>建议版本使用3.15.5以上 使用 这边写了一个demo示例&#xff0c;定…

给MATLAB安装runtime插件

给MATLAB安装runtime插件&#xff0c;将MATLAB程序打包成exe文件方法 1.查看已安装的MATLAB是否有runtime插件。操作:在command窗口直接输入mcrinstaller。 如果如图上所示&#xff0c;那就是没有。(2019版本以后包括2019一般均没有) 2.下载MATLAB对应子版本的runtime。(很多…

测评ONLYOFFICE 8.0版本:办公利器再升级

测评ONLYOFFICE 8.0版本&#xff1a;办公利器再升级 前言注册使用升级功能速览全新外观设计wordexcelPPTPDF 协作功能强化更强大的功能复杂表单的填写 移动端优化结语 前言 随着科技的不断发展&#xff0c;办公软件在提升用户体验和工作效率方面扮演着越来越重要的角色。作为一…