Spring-Cloud学习之Eureka集群搭建
admin
2023-02-19 17:40:44
0

一.为什么需要集群

上一篇文章讲解了如何搭建单个节点的eureka,这篇讲解如何搭建eureka集群,这里的集群还是本地不同的端口执行三个eureka,因为条件不要允许,没有三台电脑,所以大家将就一下吧,eureka集群的目的就是防止一个点故障导致,整个服务瘫痪的问题,成为单点故障,因为一个点出问题,还有另一个点顶上去,代替这个点工作,所以集群也实现了高可用、高性能

二.集群的原理

每一个注册点都配置有其它点的url,能够与其他server点进行数据的同步,当服务向一个点注册时,该店就会把该服务同步到其它注册点,当消费者需要消费时就会向注册中心询问具体的服务,注册中心就会向消费者提供具体的提供该服务的服务提供者的访问地址,最后实现服务的调用
Spring-Cloud学习之Eureka集群搭建

三.创建集群win环境配置

这里方便就直接把所有的服务都泡在本地的win10环境中,本来真正模拟环境是要在linux的虚拟机上跑的,大家可以自行百度,原理都一样的,只不过跑在linux上需要打包发布,我就直接在win上操作了。首先本地跑多个服务配置一下,域名映射,在C:\Windows\System32\drivers\etc路径下的hosts文件中加入:
127.0.0.1 eureka3000.com
127.0.0.1 eureka3001.com
127.0.0.1 eureka3002.com
这里需要提醒的是,修改hosts文件是有权限的,具体设置权限的方法参考win10修改配置文件

四.创建集群

  • 首先创建的目录如下:创建eureka3000在上一篇文章已经讲过了(参考搭建Eureka单节点),创建eureka3001和eureka3001也是一样,这里就直接粘贴处pom文件了

Spring-Cloud学习之Eureka集群搭建

  • eureka3000的pom文件:


    4.0.0
    com.org.ldc
    eureka3000
    0.0.1-SNAPSHOT
    eureka3000
    Demo project for Spring Boot

    
        1.8
    

    
    
        com.org.ldc
        eureka-father
        1.0.0.RELEASE
    

    
    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.SR2
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

  • eureka3000的applicatiion.yml文件:
server:
  port: 3000
eureka:
  server:
    enable-self-preservation: false  #关闭自我保护机制
    eviction-interval-timer-in-ms: 4000 #设置清理间隔(单位:毫秒 默认是60*1000)
  instance:
    hostname: eureka3000.com
  client:
    serviceUrl:
        defaultZone: http://eureka3001.com:3001/eureka,http://eureka3002.com:3002/eureka   #将自己当成服务注册到其他注册中心
spring:
  application:
    name: eureka-server-cluster  #设置服务名
  • eureka3000启动类和原来的一样
  • eureka3001的pom文件:


    4.0.0
    com.org.ldc
    eureka3001
    0.0.1-SNAPSHOT
    eureka3001
    Demo project for Spring Boot

    
        1.8
    

    
    
        com.org.ldc
        eureka-father
        1.0.0.RELEASE
    

    
    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.SR2
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

  • eureka3001的application文件:
server:
  port: 3001
eureka:
  server:
    enable-self-preservation: false  #关闭自我保护机制
    eviction-interval-timer-in-ms: 4000 #设置清理间隔(单位:毫秒 默认是60*1000)
  instance:
    hostname: eureka3001.com
  client:
    serviceUrl:
        defaultZone: http://eureka3000.com:3000/eureka,http://eureka3002.com:3002/eureka   #将自己当成服务注册到其他注册中心
spring:
  application:
    name: eureka-server-cluster  #设置服务名
  • 启动类同上

  • eureka3002的pom文件:

    
    
    
    4.0.0
    com.org.ldc
    eureka3002
    0.0.1-SNAPSHOT
    eureka3002
    Demo project for Spring Boot
    
    
        1.8
    
    
    
    
        com.org.ldc
        eureka-father
        1.0.0.RELEASE
    
    
    
    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.SR2
                pom
                import
            
        
    
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

 - eureka3002的application文件:

server:
port: 3002
eureka:
server:
enable-self-preservation: false #关闭自我保护机制
eviction-interval-timer-in-ms: 4000 #设置清理间隔(单位:毫秒 默认是60*1000)
instance:
hostname: eureka3002.com
client:
serviceUrl:
defaultZone: http://eureka3001.com:3001/eureka,http://eureka3000.com:3000/eureka #将自己当成服务注册到其他注册中心
spring:
application:
name: eureka-server-cluster #设置服务名


 - 最后是工程的pom文件内容如下:


xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

SpringBoot-Eureka环境搭建多模块构建示例
4.0.0
eureka-father
pom


com.org.ldc
eureka-father
1.0.0.RELEASE



    org.springframework.boot
    spring-boot-starter-parent
    2.0.2.RELEASE



    eureka3000
    eureka3001
    eureka3002
    user5000



    
        
            com.org.ldc
            eureka3000
            0.0.1-SNAPSHOT
        
        
            com.org.ldc
            eureka3001
            0.0.1-SNAPSHOT
        
        
            com.org.ldc
            eureka3002
            0.0.1-SNAPSHOT
        
        
            com.org.ldc
            user5000
            0.0.1-SNAPSHOT
        
    


在这里说明一下,这里的搭建教程是基于maven的聚合工程搭建的,需要有能搭建maven聚合工程的前提,这里就默认大家会搭建,所以就一顿输出了,如果还不懂的可以自行去百度。

最后测试就是启动各个注册中心,然后最后启动服务在浏览器分别输入各个注册中心的访问地址,出现如下图,说明搭建成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191215215951525.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjU1MDE3,size_16,color_FFFFFF,t_70)
>更多的教程请关注非科班的科班,一起努力,加油干,路过的小伙伴帮我点个赞,谢谢大家

最后分享一波java的资源,资源包括java从入门到开发的全套视频,以及java的26个项目,资源比较大,大小大概是290g左右,链接容易失效,获取的方式是关注公众号:非科班的科班,让后回复:java项目即可获得,祝大家学习愉快

相关内容

热门资讯

美国在巴拿马“秀肌肉”以制衡中... 【文/观察者网 阮佳琪】在遍布蝮蛇、森蚺与成群吸血飞虫的巴拿马境内,美军时隔25年重启了巴拿马丛林训...
女子趁男友熟睡刷脸21次盗转2... 5月6日,记者从上海市公安局普陀分局了解到一起盗窃案,三个多月时间,女友趁男友熟睡,多次解锁手机盗转...
24小时自助健身房:风口之下,... 在北京工作的陈佳佳是一名职场白领。因日常工作繁忙,她在家附近一家24小时无人健身房办理了季度卡,想利...
单煤气灶打不着火怎么办 出现这种状况可能是由多种原因造成的。漏气原因造成,如果煤气表或者是煤气罐出现漏气状况,那么单煤气灶打...
燃气灶被水搞灭了怎么办 如果燃气灶被水淋灭了,这时候千万不要慌乱,首先要采取正确的方法来处理。1.切断燃气如果你注意到燃气灶...
煤气灶打不着火的原因有哪几个方... 原因可能是煤气已经用完或是欠费了,可以更换新的煤气或利己续费;原因可能是电池没电了,可以更换新的电池...
空调有加雪种的说法吗 空调在使用过程中存在这一说法,这里说的雪种其实指的就是空调中的冷凝剂氟利昂。一般情况下用户需要每五年...
燃气灶用的时候火老灭为什么 1、可能是电池没电了或者接触不良,可以把电池扣下再重新装一次,保证电池各个接触面干净。2、然后再次打...
WHO称涉疫邮轮或出现有限“人... 澎湃新闻记者 南博一当地时间2026年5月5日,佛得角普拉亚,一艘救护船从右侧靠近邮轮“洪迪厄斯”号...
衡水二中老师因寻找学生在郑州街... 大皖新闻讯 日前,在河南郑州,一名男子自称是河北衡水二中的老师,为寻找学生遇到困难而乞讨,引发关注。...