(10)SpringCloud - Eureka的集群配置

前面的章节弄了服务发现和注册。

那么进行Eureka集群配置之前,首先问一下,什么是集群?
比喻:一个手榴弹炸不死它,那么我们拿一捆手榴弹。
那么相当于集群指的是,在不同的机器或者服务器上面配置相同的服务对外做一个超大的运算的整体。
就好比一个入口就一个:www.taobao.com
我只知道这么一个上万台服务器提供。

那么我们为什么要配多个集群呢?
比如我们之前的项目中7001是一个集群

那么我们一个7001配置是不行的,我们多添加几个集群,当我们的微服务越来越多的时候(业主)
那么我们是不是要创新的楼盘,有新的服务器呢?(物业)

1 新建microservicecloud-eureka-7002/microservicecloud-eureka-7003

选择我们的父类工程-》新建一个Maven Moudle
创建7002
在这里插入图片描述
在这里插入图片描述

7003的步骤和上面一样

2 POM 7002 7003同样

7002 复制 7001项目的POM文件内容
7003同样的操作。

<dependencies>
   <!--eureka-server服务端 -->
   <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>

接下里看一下7001的yml文件内容
在这里插入图片描述
难道我3个服务器都叫localhost嘛?

接下来我们要做一个域名的区分和映射。
我每次都是访问的:
localhost:7001
localhost:7002
这样是不是有点不方便?

那么我们做一个域名映射

3 修改映射配置

找到C:\Windows\System32\drivers\etc路径下的hosts文件
在这里插入图片描述

修改映射配置添加进hosts文件

127.0.0.1  eureka7001.com
127.0.0.1  eureka7002.com
127.0.0.1  eureka7003.com

4 3台eureka服务器的yml配置

7001 yml文件

server: 
  port: 7001
 
eureka: 
  instance:
    hostname: eureka7001.com #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://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

7002 yml文件

server: 
  port: 7002


eureka: 
  instance:
    hostname: eureka7002.com #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://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/

7003 yml文件

server: 
  port: 7003


eureka: 
  instance:
    hostname: eureka7003.com #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://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/

3个yml文件的区别在于
在这里插入图片描述

在我们的defultZone中: 可以清楚的看到 如果我们的端口是7002
那么我们要和其他服务器端口交互,可以明显的看到有7001和7003
但是不会自己和自己交互的。

5 microservicecloud-provider-dept-8001微服务发布到上面3台eureka集群配置中

之前我们的8001客户端只交互了一个单机的7001
现在我们新增了服务器7002 和 7003

在这里插入图片描述

我们要休息yml配置文件

server:
  port: 8001
  
mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml  #mybatis所在路径
  type-aliases-package: com.atguigu.springcloud.entities #entity别名类
  mapper-locations:
  - classpath:mybatis/mapper/**/*.xml #mapper映射文件
    
spring:
   application:
    name: microservicecloud-dept 
   datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: org.gjt.mm.mysql.Driver
    url: jdbc:mysql://localhost:3306/cloudDB01
    username: root
    password: 123456
    dbcp2:
      min-idle: 5
      initial-size: 5
      max-total: 5
      max-wait-millis: 200
      
eureka:
  client: #客户端注册进eureka服务列表内
    service-url: 
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:
    instance-id: microservicecloud-dept8001   #自定义服务名称信息
    prefer-ip-address: true     #访问路径可以显示IP地址
      
info:
  app.name: atguigu-microservicecloud
  company.name: www.atguigu.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$
      
      
      
 

6 现在项目运行

7001,7002 ,7003,服务器端启动,8001客户端启动

这样很耗费内存资源
之前我们修改了域名的映射
在这里插入图片描述
访问端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值