栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud

一.新建Eureka服务注册中心(eureka-server)模块

1.导入依赖

注:此处导入的是eureka-server依赖,区别于eureka-client依赖

        
        
            org.springframework.boot
            spring-boot-devtools
            2.6.7
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
            3.1.2
        

2.编写主启动类

注:需要在主启动类添加@EnableEurekaServer注解以开启eureka服务注册中心

@SpringBootApplication
@EnableEurekaServer//开启eureka服务注册中心
public class EurekaServer_7001 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer_7001.class,args);
    }
}

3.配置yml文件

server:
  port: 7001

spring:
  application:
    name: eureka-server

eureka:
  instance:
    hostname: eureka7001 #设置主机名
  client:
    register-with-eureka: false #不向自身的eureka服务中心自我注册
    fetch-registry: false #不从eureka服务中心获得注册信息 因为自身即注册中心
    service-url:
      defaultZone: http://eureka7002:7002/eureka/ #向eureka集群中的其他eureka服务中心注册自己
以同样的方式创建另一个eureka-server模块eureka7002,在其配置文件中设置向eureka7001服务中心注册自己

4.修改host文件(C:WindowsSystem32driversetc)

在文件中添加127.0.0.1(localhost)的别称

原因:添加别称后,可用别称代替eureka.client.service-url.defaultZone地址中的localhost,进而使得eureka服务注册中心的DS Replicas显示别称(否则只显示localhost,在集群数量大于或等于三时无法直观地区分集群中的个体)

二.修改provider和consumer模块

1.导入依赖

注:此处导入的是eureka-client依赖,区别于eureka-server依赖


        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
            3.1.2
        

2.为主启动类添加@EnableEurekaClient注解

3.配置eureka相关的yml配置

Provider:

#Eureka配置
eureka:
  client:
    service-url:
      defaultZone: http://eureka7001:7001/eureka/,http://eureka7002:7002/eureka/
  instance:
    instance-id: springcloud-Provider-Dept-8001 #修改实例名称
    prefer-ip-address: true  # 鼠标悬停于实例上时显示ip地址而非主机名

 Consumer:

#eureka配置
eureka:
  client:
    register-with-eureka: false #服务消费者不向eureka服务中心注册自己
    service-url: #获取服务的eureka服务中心地址
      defaultZone: http://eureka7001:7001/eureka/,http://eureka7002:7002/eureka/

注:

Consumer中若使用ResTemplate:需将url中的微服务主机ip+端口修改为Provider的微服务名(微服务名于Provider中通过spring.application.name设置)

Consumer中若使用Feign:无需赋值@FeignClient注解中的url属性,而是赋值name属性

同一微服务名下可配置多个Provider用于负载均衡(需额外设置负载均衡) 

运行效果

启动eureka-server与Provider,访问http://eureka7001:7001

可以看到,DS Replicas中显示了eureka集群中的其他个体

SPRINGCLOUD-PROVIDER-DEPT为微服务名,通过spring.application.name设置;springcloud-Provider-Dept-8001等为实例名,eureka.instance.instance-id设置

eureka7002不再赘述

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/921911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号