(三)注册中心-eureka集群部署(单机注册用户服务和订单服务)

前面第二章提到了eureka的单机模式,为了保证高可用,这章来测试eureka的集群部署,并且还是单机注册用户服务和订单服务。

eureka集群部署

  1. ApplicationEurekaCluster.java启动类
@SpringBootApplication
@EnableEurekaServer // 开启注册中心
public class ApplicationEurekaCluster {

    public static void main(String[] args) {
        SpringApplication.run(ApplicationEurekaCluster.class, args);
    }

}
  1. application.yml配置
############################################################
#
# eureka 集群的注册中心
# web访问端口号  约定:7001-7003
#
############################################################
server:
  # 动态设置port,不传默认7001 假设传入7002,则就是7002
  port: ${port:7001}
  tomcat:
    uri-encoding: UTF-8

############################################################
#
# 配置项目信息
#
############################################################
spring:
  application:
    name: springcloud-eureka-server-cluster

############################################################
#
# eureka配置信息
#
############################################################
eureka:
  instance:
    # 集群中每个eureka的名字都是唯一的
    hostname: eureka-cluster-${server.port}
  # 自定义端口参数
  other-node-port2: ${p2:7002}
  other-node-port3: ${p3:7003}
  client:
    # 是否要把当前的eureka server注册到自己
    register-with-eureka: false
    # 从注册中心获得检索服务实例,server没有必要,直接false即可
    # 自己就是注册中心,所以没必要去获得其他服务的实例,然后去调用
    fetch-registry: false
    # 单实例配置自己的服务地址,高可用集群则配置多个地址
    service-url:
      defaultZone: http://eureka-cluster-${eureka.other-node-port2}:${eureka.other-node-port2}/eureka/,http://eureka-cluster-${eureka.other-node-port3}:${eureka.other-node-port3}/eureka/

由于eureka工程只有1个,但是集群部署的话需要多个节点,例如3个。但是,我不可能在springboot工程中又额外去新增2个一模一样的eureka工程。这时候就需要在application.yml配置文件中设置动态参数,保证启动服务的时候,根据传入的端口号来决定是启动的哪个eureka节点。

  1. 配置host
    在这里插入图片描述
  2. idea启动多个服务
    拿eureka节点端口号为7002举例,idea–>Run–>Edit Configurations
    在这里插入图片描述
    参数前面加上-D,这样服务启动的时候配置文件能够读取到这个参数。
  3. 当3个服务都启动完成后,分别访问http://eureka-cluster-7001:7001/、http://eureka-cluster-7002:7002/、http://eureka-cluster-7003:7003/
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

用户服务注册到eureka集群

只需要修改application.yml配置中的defaultZone,改为eureka集群地址。

############################################################
#
# 用户微服务
# web访问端口号  约定:8001
#
############################################################
server:
  port: 8001
  tomcat:
    uri-encoding: UTF-8

############################################################
#
# 配置项目信息
#
############################################################
spring:
  application:
    name: user

############################################################
#
# eureka配置信息
#
############################################################
eureka:
  server:
    hostname: localhost
    port: 7000
  client:
    # 所有的微服务都必须注册到eureka中
    register-with-eureka: true
    # 从注册中心获得检索服务实例,用户服务需要配置为true
    # 用户服务要去获得其他服务的实例,然后去调用
    fetch-registry: true
    # 注册中心的服务地址
    service-url:
#      defaultZone: http://${eureka.server.hostname}:${eureka.server.port}/eureka/
      # 用户服务注册到eureka集群中
      defaultZone: http://eureka-cluster-7001:7001/eureka/,http://eureka-cluster-7002:7002/eureka/,http://eureka-cluster-7003:7003/eureka/

订单服务注册到eureka集群

只需要修改application.yml配置中的defaultZone,改为eureka集群地址。

############################################################
#
# 订单微服务
# web访问端口号  约定:8002
#
############################################################
server:
  port: 8002
  tomcat:
    uri-encoding: UTF-8

############################################################
#
# 配置项目信息
#
############################################################
spring:
  application:
    name: order

############################################################
#
# eureka配置信息
#
############################################################
eureka:
  server:
    hostname: localhost
    port: 7000
  client:
    # 所有的微服务都必须注册到eureka中
    register-with-eureka: true
    # 从注册中心获得检索服务实例,用户服务需要配置为true
    # 用户服务要去获得其他服务的实例,然后去调用
    fetch-registry: true
    # 注册中心的服务地址
    service-url:
#      defaultZone: http://${eureka.server.hostname}:${eureka.server.port}/eureka/
      # 订单服务注册到eureka集群中
      defaultZone: http://eureka-cluster-7001:7001/eureka/,http://eureka-cluster-7002:7002/eureka/,http://eureka-cluster-7003:7003/eureka/

测试

  1. 分别启动用户服务和订单服务,在eureka集群控制台查看效果。
    在这里插入图片描述
  2. postman调用效果。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值