Eureka高可用集群配置

当注册中心扛不住高并发的时候,这时候 要用集群来扛;

我们再新建两个module  microservice-eureka-server-2002  microservice-eureka-server-2003

第一步:

pom.xml 把依赖加下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<dependencies>
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
        <!-- 修改后立即生效,热部署 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>springloaded</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
  </dependencies>

第二步:

2002  2003的主启动类EurekaServerApplication_2002,EurekaServerApplication_2003复制修改下;

第三步:

前面单机的时候 eureka注册中心实例名称 是localhost,现在是集群,不能三个实例都是localhost,这里复杂的办法是搞三个虚拟机,麻烦,这里有简单办法,直接配置本机hosts,来实现本机域名映射;

找到 C:\Windows\System32\drivers\etc  打开hosts,加配置

127.0.0.1  eureka2001.java1234.com

127.0.0.1  eureka2002.java1234.com

127.0.0.1  eureka2003.java1234.com

第四步:

修改三个项目的application.yml文件,主要是修改 hostname和defaultZone,

2001修改:

server:

port: 2001

context-path: /

eureka:

instance:

# 单机 hostname: localhost #eureka注册中心实例名称

hostname: eureka2001.java1234.com # 集群

client:

register-with-eureka: false     #false 由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己。

fetch-registry: false     #false 由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false

service-url:

defaultZone: http://eureka2002.java1234.com:2002/eureka/,http://eureka2003.java1234.com:2003/eureka/ # 集群

#单机defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka注册中心交互的地址,查询服务和注册服务用到

2002修改:

server:

port: 2002

context-path: /

eureka:

instance:

# 单机 hostname: localhost #eureka注册中心实例名称

hostname: eureka2002.java1234.com # 集群

client:

register-with-eureka: false     #false 由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己。

fetch-registry: false     #false 由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false

service-url:

defaultZone: http://eureka2001.java1234.com:2001/eureka/,http://eureka2003.java1234.com:2003/eureka/ # 集群

#单机defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka注册中心交互的地址,查询服务和注册服务用到

2003修改:

server:

port: 2003

context-path: /

eureka:

instance:

# 单机 hostname: localhost #eureka注册中心实例名称

hostname: eureka2003.java1234.com # 集群

client:

register-with-eureka: false     #false 由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己。

fetch-registry: false     #false 由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false

service-url:

defaultZone: http://eureka2001.java1234.com:2001/eureka/,http://eureka2002.java1234.com:2002/eureka/ # 集群

#单机defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka注册中心交互的地址,查询服务和注册服务用到

第五步:修改服务提供者项目的application.yml,主要修改eureka.client.service-url.defaultZone

server:

port: 1001

context-path: /

# 数据源配置

spring:

datasource:

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.jdbc.Driver

url: jdbc:mysql://localhost:3306/db_springcloud2

username: root

password: 123456

jpa:

hibernate:

ddl-auto: update

show-sql: true

eureka:

instance:

hostname: localhost  #eureka客户端主机实例名称

appname: microservice-student  #客户端服务名

instance-id: microservice-student:1001 #客户端实例名称

prefer-ip-address: true #显示IP

client:

service-url:

# 单机 defaultZone: http://localhost:2001/eureka   #把服务注册到eureka注册中心

defaultZone: http://eureka2001.java1234.com:2001/eureka/,http://eureka2002.java1234.com:2002/eureka/,http://eureka2003.java1234.com:2003/eureka/ # 集群

info:

groupId: $project.groupId$

artifactId: $project.artifactId$

version: $project.version$

负责人: 张三

联系电话: 110

最后我们测试下:

启动三个注册中心,以及服务提供者项目;

然后浏览器地址栏输入:http://eureka2001.java1234.com:2001/

这里说明,集群创建OK;  红色的那块 ,后面会讲到,是eureka的自我保护。

假如访问 http://eureka2002.java1234.com:2002/  http://eureka2003.java1234.com:2003/

都是一个效果;

这里本质是三个服务注册中心都有我们服务提供者的信息,等后面讲到服务发现和服务调用,我们通过一些策略(默认轮询),会去找对应的服务注册中心;通过集群,能减轻每个服务注册中心的压力;

Eureka注册中心高可用集群配置的更多相关文章

  1. SpringCloud-day04-Eureka高可用集群配置

    5.4Eureka高可用集群配置 在高并发的情况下一个注册中心难以满足,因此一般需要集群配置多台. 我们再新建两个module  microservice-eureka-server-2002,  m ...

  2. Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费

    由于 Eureka 注册中心只是在内存中保存服务注册实例,并且没有将服务注册实例进行同步,因此我们需要对服务提供和消费进行调整,需要指定服务提供和消费的注册.服务发现的具体Eureka 注册中心配置, ...

  3. MongoDB高可用集群配置的方案

    >>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...

  4. MongoDB高可用集群配置方案

    原文链接:https://www.jianshu.com/p/e7e70ca7c7e5 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非 ...

  5. Hadoop入门学习笔记-第三天(Yarn高可用集群配置及计算案例)

    什么是mapreduce 首先让我们来重温一下 hadoop 的四大组件:HDFS:分布式存储系统MapReduce:分布式计算系统YARN: hadoop 的资源调度系统Common: 以上三大组件 ...

  6. Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用搭建

    高可用集群 在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对与微服务和服务注册中心都需要高可用部署,Eureka 高可用实际上就是将自己 ...

  7. RHCS高可用集群配置(luci+ricci+fence)

    一.什么是RHCS    RHCS是Red Hat Cluster Suite的缩写,也就是红帽集群套件,RHCS是一个能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合,它将集群 ...

  8. MongoDB分片技术原理和高可用集群配置方案

    一.Sharding分片技术 1.分片概述 当数据量比较大的时候,我们需要把数分片运行在不同的机器中,以降低CPU.内存和Io的压力,Sharding就是数据库分片技术. MongoDB分片技术类似M ...

  9. Eureka注册中心高可用及常用配置项

    一.前言 前面已经简单的介绍了 Eureka 注册中心的使用以及查看.下面将继续进行 Eureka 的说明以及应用. 二.Eureka 的高可用搭建 在实际生产项目中,为了保证服务的可用性,连续性,一 ...

随机推荐

  1. Springboot Jackson配置根本方案, 日期格式化, 时区设置生效

    当项目集成配置的功能越来越多, 说不准哪个配置就影响到了什么. 比如你启用了EnableMvC, 默认配置文件配置的一些文件就失效了. 虽然约定大于配置,让springboot可以极简化构建, 但不熟 ...

  2. C# 根据链接提取div内容

    安装NuGet包    HtmlAgilityPack var wc = new WebClient(); wc.Encoding = Encoding.GetEncoding("UTF-8 ...

  3. 【Spark 内核】 Spark 内核解析-上

    Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制.Spark任务调度机制.Spark内存管理机制.Spark核心功能的运行原理等,熟练掌握Spark内核原理,能够帮助我们更 ...

  4. 【转】Eclipse快捷键指南

    目录 1 编辑 2 查看 3 窗口 4 导航 5 搜索 6 文本编辑 7 文件 8 项目 9 源代码 10 运行 11 重构 12 修改快捷键 Eclipse快捷键,熟悉快捷键可以帮助开发事半功倍,节 ...

  5. 2019版Idea如何激活

    1.下载jar包 链接: https://pan.baidu.com/s/1w4B4_hmiiueNDJMjYKaFyQ 提取码: fkpx 2.修改·vmoptions 1.Help" - ...

  6. Epplus Excel 导入 MSSQL 数据库

    效果: 下载EXE     源码

  7. python封装简介

    1.效果图: 对比一: 对比二: 2.学习来源代码: # 封装是面向对象的三大特性之一 # 封装指的是隐藏对象中一些不希望被外部所访问到的属性或方法 # 如何隐藏一个对象中的属性? # - 将对象的属 ...

  8. P3802 小魔女帕琪 概率与期望

    P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从 ...

  9. 所有锁的unlock要放到try{}finally{}里,不然发生异常返回就丢了unlock了

    所有锁的unlock要放到try{}finally{}里,不然发生异常返回就丢了unlock了

  10. Java入门 - 语言基础 - 14.String类

    原文地址:http://www.work100.net/training/java-string.html 更多教程:光束云 - 免费课程 String类 序号 文内章节 视频 1 概述 2 创建字符 ...