【SpringCloud】服务注册——Eureka集群环境构建+consumer端注册+provider端注册

三者关系如图所示:

在这里插入图片描述

说明:7001+7002为Eurake服务集群;80为服务调用者summer端;8001+8002为为服务提供者provider端。Eureka服务集群在注册的时候应该相互注册,相互守望。

(一)Eureka服务集群环境构建和注册

  1. 找到C:\Windows\System32\drivers\etc路径下的hosts文件,修改映射配置添加进hosts文件
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
  1. 创建模块cloud-eureka-server7001
    3.

  2. 导包(pom.xml)

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
  1. 写配置(application.yml)
server:
  port: 7001

eureka:
  instance:
    hostname: eureka7001.com #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #集群指向其它eureka
      defaultZone: http://eureka7002.com:7002/eureka/
      #单机就是7001自己
      #defaultZone: http://eureka7001.com:7001/eureka/
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 2000

说明:defaultZone中的url是7002模块的地址,这样写的目的是Eureka中的模块集群应该相互注册,相互守望。
需要配置的东西:
1.端口
2.主机名
3.注册守望7002

  1. 主启动类(EurekaMain7001)
@SpringBootApplication
@EnableEurekaServer
public class EurekaMain7001 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaMain7001.class, args);
    }
}

说明:一定要在主启动类中添加@EnableEurekaServer注解,表名该模块是Eureka的注册服务模块

5.测试
输入网址:http://eureka7001.com:7001/即可查看是否配置成功
在这里插入图片描述
说明:第一个箭头表示该Eureka模块注册了eureka7002.com;第二个箭头表示注册进Eureka的consumer模块和Provider模块。由于此时还没有模块注册进来,因此为空。

注: Eureka中的7002模块注册与上述步骤一致。

(二) consumer中模块注册进Eureka

  1. 在consumer中创建80模块

在这里插入图片描述
2. 导包(pom.xml)

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  1. 写配置(application.yml)
server:
  port: 80

spring:
  application:
    name: cloud-order-service

eureka:
  client:
    #表示是否将自己注册进Eurekaserver默认为true。
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetchRegistry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka, http://eureka7002.com:7002/eureka

需要配置的内容:
1.端口
2.consumer名
3.注册进7001和7002
4. 主启动类(OrderMain80)

@SpringBootApplication
@EnableEurekaClient
public class OrderMain80 {
    public static void main(String[] args) {
        SpringApplication.run(OrderMain80.class, args);
    }
}

说明:一定要在主启动类中添加@EnableEurekaClient注解,表明该模块为注册进Eureka中的模块。

  1. 测试
    由于该模块注册进了7001和7002,那么登录这两个模块的Eureka网站应该都可以看到80模块。
    eureka7001.com:
    在这里插入图片描述
    eureka7002.com:

在这里插入图片描述

(三) provider端注册进Eureka

  1. 创建模块8001

在这里插入图片描述
2. 导包(pom.xml)

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  1. 写配置(application.yml)
server:
  port: 8001

spring:
  application:
    name: cloud-payment-service

eureka:
  client:
    #表示是否将自己注册进Eurekaserver默认为true。
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册信息,默认为true。单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetchRegistry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka, http://eureka7002.com:7002/eureka
  instance:
      instance-id: payment8001
      prefer-ip-address: true

需要配置的内容:
1.端口
2.provider名
3.注册进7001和7002

  1. 主程序类(PaymentMain8001)
@SpringBootApplication
@EnableEurekaClient
public class PaymentMain8001 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8001.class, args);
    }
}

说明:一定要写@EnableEurekaClient注解,表明该模块是注册进Eureka的模块。

  1. 测试
    eureka7001.com:

在这里插入图片描述
eureka7002.com:
在这里插入图片描述
说明:provider中的模块均可用以上方式注册进eureka。

总结:
1.Eureka中的模块导包和其他模块导包不同,前者为spring-cloud-starter-netflix-eureka-server,后者为spring-cloud-starter-netflix-eureka-client
2.consumer和provider中模块导入方式基本一致。
3.Eureka中每个集群都对应有相应界面,可查看该集群模块中注册进来的模块名以及相互注册观望的模块明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值