Spring cloud之Eureka(二)注册中心高可用

背景

  在实际的生产环境中,注册中心如果只有一个,是很危险的,当这个注册中心由于各种原因不能提供正常服务或者挂掉时,整个系统都会崩溃,这是很致命的的,所以在Spring cloud 设计之初就考虑到了注册中心的高可用。

  springCloud的eureka高可用配置方案思路是:几个服务中心之间相互注册,比如两个注册中心,A注册到B上,B注册到A上,如果是三个注册中心则是:A注册到BC上,B注册到AC上,C注册到AB上,这样就会在几个注册中心间进行同步,同时服务提供方向三个注册中心均注册,这样就会保证当一个服务注册中心宕机的时候,不影响整个系统的正常运行,从而保证了eureka的高可用。

示例

application.properties配置修改

  这里配置文件的修改不是必须的,也可以都设置为false不影像注册中心的高可用

#true表示将自己注册为一个服务,否则是启动了一个注册中心
eureka.client.register-with-eureka=true

#false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
eureka.client.fetch-registry=true

我们以三个注册中心为例来构建高可用,这里我们在本机演示的是在本机上进行调试,ip都是一样的这时端口肯定不能一样:8880,8881,8882,如果是部署在不同的服务器上端口是可以一样的

8880

#本项目端口
server:
  port: 8880
#定义应用名称为order
spring:
  application:
    name: server
#服务注册中心实例主机名
eureka:
  instance:
    hostname: host
  client:
#是否向注册中心注册自己
    register-with-eureka: false
#是否获取注册表
    fetch-registry: false
    service-url:
      defaultZone: http://127.0.0.1:8881/eureka/,http://127.0.0.1:8882/eureka/

8881

#本项目端口
server:
  port: 8881
#定义应用名称为order
spring:
  application:
    name: server1
#服务注册中心实例主机名
eureka:
  instance:
    hostname: host1
  client:
#是否向注册中心注册自己
    register-with-eureka: false
#是否获取注册表
    fetch-registry: false
    service-url:
      defaultZone: http://127.0.0.1:8880/eureka/,http://127.0.0.1:8882/eureka/

8882

server:
  port: 8882
#定义应用名称为order
spring:
  application:
    name: server2
#服务注册中心实例主机名
eureka:
  instance:
    hostname: host2
  client:
#是否向注册中心注册自己
    register-with-eureka: true
#是否获取注册表
    fetch-registry: false
#服务地址
    service-url:
      defaultZone: http://127.0.0.1:8880/eureka/,http://127.0.0.1:8881/eureka/

原文地址:https://www.cnblogs.com/htyj/p/10667661.html

时间: 2024-08-29 21:21:30

Spring cloud之Eureka(二)注册中心高可用的相关文章

初始化Spring Cloud建立Eureka服务注册中心

1.新建项目 https://gitee.com/frankawp/vishnu  新建一个git项目 打开git bash git clone https://gitee.com/frankawp/vishnu git remote add vishnu https://gitee.com/frankawp/vishnu touch test git add . git commit -m initial git push origin master 初始化git完毕 刷新https://gi

微服务时代之网关及注册中心高可用架构设计

1. 微服务关系架构图 简要说明: (1)所有应用或者服务要想对外提供服务(包括网关),必须首先到注册中心进行注册. (2)所有访问通过服务网关进行访问,然后由服务网关路由到对应服务中心进行交互访问. 2. 网关及注册中心高可用架构图 2.1 springcloud eureka高可用方案 由上图可以看出,注册中心与路由很容易成为单点故障,软件老王以前使用springcloud eureka高可用架构方案: (1)euraka部署成集群模式,相互注册,通过心跳策略同步注册信息: (2)客户端注册

Spring Cloud Eureka 注册中心高可用机制

一.Eureka 正常工作流程 Service 服务作为 Eureka Client 客户端需要在启动的时候就要向 Eureka Server 注册中心进行注册,并获取最新的服务列表数据. Eureka Server 之间通过 Peer To Peer 模式复制最新数据. Eureka Client 通过心跳机制定时向 Eureka Server 续约,上报自己的状态,并获取最新的服务列表数据. Eureka Client 在本地有一个localRegionApps变量,用来保存从 Eureka

Spring Cloud Alibaba 使用nacos 注册中心

### 背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 ### spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring-cloud-alibaba-basis 基础依赖 工程里面制定我们要用到的公用的版本 - spring boot 版本 2.1.7.RELEASE - spring cloud 版本 Greenwich.RELEASE - spring cloud 阿里巴巴的版本 2.1.0.RELEASE -

Spring Cloud Eureka 服务注册中心(二)

序言 Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件 它主要包括两个组件:Eureka Server 和 Eureka Client Eureka Client:一个Java客户端,用于简化与 Eureka Server 的交互(通常就是微服务中的客户端和服务端) Eureka Server:提供服务注册和发现的能力(通常就是微服务中的注册中心) 各个微服务启动时,会通过 Eureka Client 向 Eureka Server 注册自己,Eurek

Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin【Finchley 版】

Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin[Finchley 版] 发表于 2018-04-24 | 随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药.于是就有了分布式系统调用跟踪的诞生. 现今业界分布式服务跟踪的理论基础主要来自于 Google 的一篇论文<Dapper, a Larg

spring cloud之eureka简介

最近线上的接口出了一些问题,有一些可能不是代码的问题,但是由于是测试和其他方面的同事爆出来的,所以感觉对接口的监控应该提上日程. 经过搜索发现,spring cloud的eureka就是专门做这方面工作的. 下面一段是<spring cloud 微服务实战>一书中对eureka的简单介绍: Spring Cloud Eureka 是Spring Cloud Netflix 微服务套件中的一部分, 它基于Netflix Eureka 做了二次封装, 主要负责完成微服务架构中的服务治理功能. Sp

Spring Cloud Learning(一): 服务注册

官网https://projects.spring.io/spring-cloud/,spring cloud官网各组件版本为: Component Edgware.SR4 Finchley.SR1 Finchley.BUILD-SNAPSHOT spring-cloud-aws 1.2.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT spring-cloud-bus 1.3.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNA

【Spring Cloud学习之五】配置中心

环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 Spring Cloud 1.2 一.什么是配置中心在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库(或者SVN仓库)中.在spring cloud config 组件中,分两个角色,一是config