spring cloud 服务注册中心eureka高可用集群搭建
一,准备工作
eureka可以类比zookeeper,本文用三台机器搭建集群,也就是说要启动三个eureka注册中心
1
本文三台eureka的地址分别为:本机(htttp://10.25.25.92:8080),远程服务器1(http://10.25.25.24:8080)远程服务器2(http://10.25.25.39:8080)。三台注册中心准备完毕 二,集群配置
application.yml配置
在上一章中通过下面两个配置来实现不向注册中心注册自己,eureka高可用实际上就是将自己作为服务向其他服务注册中心注册自已,这样就可以形成一组互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。 eureka:
client:
#register-with-eureka: false #false表示不向注册中心注册自己。
#fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务 这里将这两个配置注释掉,具体如下 2.1,本机配置
server:
port: 8080 eureka:
instance:
hostname: 10.25.25.92 #eureka服务端的实例名称
client:
#register-with-eureka: false #false表示不向注册中心注册自己。
#fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#单机 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
defaultZone: http://10.25.25.24:8080/eureka/,http://10.25.25.39:8080/eureka/ 2.2,远程服务器1配置
server:
port: 8080 eureka:
instance:
hostname: 10.25.25.24 #eureka服务端的实例名称
client:
#register-with-eureka: false #false表示不向注册中心注册自己。
#fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#单机 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
defaultZone: http://10.25.25.92:8080/eureka/,http://10.25.25.39:8080/eureka/ 2.3,远程服务器2
server:
port: 8080 eureka:
instance:
hostname: 10.25.25.39 #eureka服务端的实例名称
client:
#register-with-eureka: false #false表示不向注册中心注册自己。
#gfetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#单机 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
defaultZone: http://10.25.25.92:8080/eureka/,http://10.25.25.24:8080/eureka/ 在pom中添加如下插件
使用这个插件执行 mvn install 生成jar包,可以使用 Java -jar **.jar 的命令启动jar包 <build>
<plugins>
<plugin><!-- 项目的打包发布 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 主启动类 -->
<mainClass>com.baosight.DemoApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build> 执行 mvn install 生成jar包,复制到对应的两台远程服务器里,分别启动 浏览器访问http://localhost:8080 可以看到10.25.25.24和10.25.25.39的eureka注册中心,有三个微服务注册到本机的注册中心,分别是http://10.25.25.92:8080/eureka/,http://10.25.25.24:8080/eureka/ 和 http://localhost:8080/eureka,既是注册中心也是 三,eureka client配置
application.yml配置
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/,http://10.25.25.25:8080/eureka/,http://10.25.25.39:8080/eureka/
# instance:
# instance-id: microservicecloud-8762
# prefer-ip-address: true #访问路径可以显示IP地址
server:
port: 8762
spring:
application:
name: springboot-eureka-clent
1
2
3
4
5
6
7
8
9
10
11
12
启动eureka client
分别访问 http://10.25.25.24:8080/,http://10.25.25.39:8080/,http://localhost:8080/ 可以看到三个注册中心都注册了 springboot-eureka-clent 。 四,测试
4.1 修改 eureka client 配置
application.yml配置
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/
instance:
instance-id: microservicecloud-8762
prefer-ip-address: true #访问路径可以显示IP地址
server:
port: 8762
spring:
application:
name: springboot-eureka-clent 重启eureka client 可以看到,三个注册中心依然都注册有 eureka client ,这是因为eureka是通过在各个节点进行复制来达到高可用的目的。停掉本机eureka服务,刷新另外俩个eureka页面 可以看到,eureka客户端是注册到本机注册中心的,本机的注册中心已经停掉,但是eureka客户端依然注册到另外两个注册中心了,这样就避免了单点故障后的整体服务发现的瘫痪,说明eureka注册中心高可用集群发挥了作用

  

spring cloud 服务注册中心eureka高可用集群搭建的更多相关文章

  1. 服务注册组件——Eureka高可用集群搭建

    服务注册组件--Eureka高可用集群搭建 什么是Eureka? 服务注册组件:将微服务注册到Eureka中. 为什么需要服务注册? 微服务开发重点在一个"微"字,大型应用拆分成微 ...

  2. spring Cloud服务注册中心Eureka集群

    spring Cloud服务注册中心Eureka集群配置: 在application.yml文件加以下配置: server: port: 8761 tomcat: uri-encoding: UTF- ...

  3. 孰能巧用 Spring Cloud 服务注册中心Eureka

    Eureka介绍 在Spring Cloud Netflix 整合技术栈中,Eureka既可以作为服务注册中心也可以用于服务发现对整个微服务架构起着最核心的整合作用. Eureka是基于REST(Re ...

  4. SpringCloud(四):服务注册中心Eureka Eureka高可用集群搭建 Eureka自我保护机制

    第四章:服务注册中心 Eureka 4-1. Eureka 注册中心高可用集群概述在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性 问题,不能有单点故障,由于注册中心 eurek ...

  5. SpringCloud全家桶学习之服务注册与发现及Eureka高可用集群搭建(二)

    一.Eureka服务注册与发现 (1)Eureka是什么? Eureka是NetFlix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故 ...

  6. Eureka高可用集群搭建

    就是搭建Eureka的集群. 每个Eureka Server需要相互注册,确保数据一致. 我这里准备两个Eureka Server  他两的POM文件配置是一样的 <dependencies&g ...

  7. spring Cloud服务注册中心eureka

    Eureka是什么? 1.Eureka是SpringCloud Netflix的核心子模块. 2.Eureka包含Eureka Server和Eureka Client. 3.Server提供注册服务 ...

  8. SpringCloud之Eureka高可用集群环境搭建

    注册中心集群 在微服务中,注册中心非常核心,可以实现服务治理,如果一旦注册出现故障的时候,可能会导致整个微服务无法访问,在这时候就需要对注册中心实现高可用集群模式. Eureka集群相当简单:相互注册 ...

  9. Spring Cloud服务注册中心交付至kubernetes

    前言 服务发现原则: 各个微服务在启动时,会将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可以从服务发现组件中查询到服务提供者的网络地址,并使用该地址来远程调用服务 ...

随机推荐

  1. SQL rownum的用法

    rownum只显示两行记录,第一行是字段名,第二行是满足查询条件的记录.

  2. Powershell split file

    #网上所得非原创 function split($inFile, $outPrefix, [Int32] $bufSize){ $stream = [System.IO.File]::OpenRead ...

  3. Linux磁盘分区,挂载

    分区基础知识 分区的方式:   1) mbr分区:     1.最多支持四个主分区     2.系统只能安装在主分区     3.扩展分区要占一个主分区     4.MBR最大只支持2TB,但拥有最好 ...

  4. Anaconda安装与常用命令及方法(深度学习入门1)

    Anaconda是一个软件发行版,它附带了 conda.Python 和 150 多个科学包及其依赖项. 安装Anaconda Anaconda分为Linux.Windows.Mac等版本,去 htt ...

  5. Nodejs与mysql连接池的应用(pool)

    /* * 连接池 连接和缓存的技术 * */ var mysql = require('mysql'); var pool = mysql.createPool({ connectionLimit:2 ...

  6. java向邮箱发送消息失败!

    出现的错误如下: org.apache.commons.mail.EmailException: Sending the email to the following server failed : ...

  7. react系列(五)在React中使用Redux

    上一篇展示了Redux的基本使用,可以看到Redux非常简单易用,不限于React,也可以在Angular.Vue等框架中使用,只要需要Redux的设计思想的地方,就可以使用它. 这篇主要讲解在Rea ...

  8. render 函数渲染表格的当前数据列使用

    columns7: [ { title: '编号', align: 'center', width: 90, key: 'No', render: (h, params) => { return ...

  9. DB数据源之SpringBoot+MyBatis踏坑过程(六)mysql中查看连接,配置连接数量

    DB数据源之SpringBoot+MyBatis踏坑过程(六)mysql中查看连接,配置连接数量 liuyuhang原创,未经允许禁止转载 系列目录连接 DB数据源之SpringBoot+Mybati ...

  10. js 单引号和双引号的使用注意事项

    前言: 刚入行时,对单双引号没有过研究,使用时也是碰到什么用什么,后来慢慢遇到引号嵌套时报错,才了解问题.因之前的文章稍显混乱,现重新编辑,帮助需要的人儿. 正文: 1.一般情况下(没有嵌套)在js中 ...