集群高可用二

简介: 集群与高可用相关介绍

2 Eureka集群

2.1 Eureka简介

2.1.1什么是Eureka

​ Eureka是一种基于REST(Representational State Transfer)的服务,主要用于AWS,用于定位服务,以实现中间层服务器的负载平衡和故障转移。我们将此服务称为Eureka Server。Eureka还附带了一个基于Java的客户端组件Eureka Client,它使与服务的交互变得更加容易。客户端还有一个内置的负载均衡器,可以进行基本的循环负载均衡。在Netflix,一个更复杂的负载均衡器包装Eureka,根据流量,资源使用,错误条件等多种因素提供加权负载平衡,以提供卓越的弹性。

理解:

​ Eureka是一个服务注册与发现的注册中心。类似于dubbo中的zookeeper.

官网地址:

https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance

2.1.2Eureka的架构

1558513888400 .png

application Service :相当于服务提供者

application Client :相当于服务消费者

make remote call :服务调用过程

us-east-1c d e 都是region:us-east-1 的可用区域。

简单可以理解为:

​ 每一个erurak都是一个节点,默认启动时就是以集群的方式。

区别:

erurak:集群,各个节点的数据一致,各个节点都属于同等级别的注册中心,不存在leader的概念。
zookeeper:Zookeeper集群存在Leader节点,并且会进行Leader选举,Leader具有最高权限。

2.2 搭建Eureka集群

配置host文件C:\Windows\System32\drivers\etc\hosts文件,添加映射

127.0.0.1 eureka-server1
127.0.0.1 eureka-server2
127.0.0.1 eureka-server3

2.2.1 application.yml配置

第1台application.yml:

server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server1
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka-server2:8762/eureka/,http://eureka-server3:8763/eureka/

第2台application.yml

server:
  port: 8762
eureka:
  instance:
    hostname: eureka-server2
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka-server1:8761/eureka/,http://eureka-server3:8763/eureka/

第3台application.yml配置:

server:
  port: 8763
eureka:
  instance:
    hostname: eureka-server3
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka-server1:8761/eureka/,http://eureka-server2:8762/eureka/

2.2.2 效果

http://localhost:8761/
1565935274654 .png

http://localhost:8762/
1565935274654 .png

http://localhost:8763/

1565935274654 .png

项目中使用的时候,将多个写到一起,隔开即可,代码如下:

1565935455902 .png
上图代码如下:

eureka:
  client:
    service-url:
      defaultZone: http://eureka-server1:8761/eureka/,http://eureka-server2:8761/eureka/,http://eureka-server3:8763/eureka/
目录
相关文章
|
12月前
|
前端开发 程序员 C++
【前端web入门第一天】01 开发环境、HTML基本语法文本标签
本文档详细介绍了HTML文本标签的基础知识。首先指导如何准备开发环境,包括安装VSCode及常用插件;接着全面解析HTML的基本结构与标签语法,涵盖从基本骨架搭建到注释的使用,以及标题、段落、换行和平行线、文本格式化等标签的具体应用,适合初学者循序渐进地掌握HTML。
190 3
|
12月前
Netty 与硬件设备交互,下行命令时(服务对设备),如何等待设备响应,再进行业务操作解决方案
Netty 与硬件设备交互,下行命令时(服务对设备),如何等待设备响应,再进行业务操作解决方案
279 1
|
自然语言处理 Unix Linux
字符编码问题之UTF-16和UCS-2的关系如何解决
字符编码问题之UTF-16和UCS-2的关系如何解决
245 1
|
11月前
|
安全 算法 Java
强大!基于Spring Boot 3.3 六种策略识别上传文件类型
【10月更文挑战第1天】在Web开发中,文件上传是一个常见的功能需求。然而,如何确保上传的文件类型符合预期,防止恶意文件入侵,是开发者必须面对的挑战。本文将围绕“基于Spring Boot 3.3 六种策略识别上传文件类型”这一主题,分享一些工作学习中的技术干货,帮助大家提升文件上传的安全性和效率。
489 0
|
Java 文件存储 Spring
轻松实现Spring Boot与FastDFS的无缝整合
家人们啦!,上篇文章了,我们讲了如何使用docker-compose快速部署fastdfs,在今天的文章中,我将向大家介绍如何将Spring Boot与FastDFS进行无缝整合,以便高效地管理和操作文件存储。通过这个整合,你将能够轻松地在Spring Boot应用程序中实现文件的上传和下载等功能。让我们开始吧
618 0
轻松实现Spring Boot与FastDFS的无缝整合
|
Java 应用服务中间件 API
springboot+nginx获取真实IP
springboot+nginx获取真实IP
370 4
|
消息中间件 数据可视化 Java
Kafka可视化工具_Kafka-Eagle
Kafka可视化工具_Kafka-Eagle
288 0
|
Kubernetes Cloud Native Go
kubekey快速安装高可用k8s集群
kubekey快速安装高可用k8s集群
|
存储 NoSQL 容灾
Redis集群:集群容灾
Redis集群:集群容灾
211 0
|
负载均衡 监控 Dubbo
Spring boot 2.3优雅下线,距离生产还有多远?
对于任何一个线上应用,如何在服务更新部署过程中保证业务无感知是开发者必须要解决的问题,即从应用停止到重启恢复服务这个阶段不能影响正常的业务请求,这使得无损下线成为应用生命周期中必不可少的一个环节。
17807 78
Spring boot 2.3优雅下线,距离生产还有多远?