分布式组件的基本配置

  1. 导入SpringCloudAlibaba的依赖

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
  2. 下载Nacos

  3. 导入 Nacos 依赖

      <!-- 剔除ribbon的 nacos 依赖 , 因为Spring Cloud版本较新,后面会导入别的依赖和ribbon冲突-->
       <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    
  4. 配置Nacos地址 (修改 yaml文件)

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848
    
  5. 开启服务的注册与发现(修改主启动类)

    	@EnableDiscoveryClient  //加上该注解即可
    
  6. 添加服务名(注册到Nacos的名字)

    spring:
      application:
        name: XXXXX
    
  7. 启动Nacos (startup.cmd -m standalone)
    在这里插入图片描述

  8. 启动微服务,登录Nacos并查看
    在这里插入图片描述

  9. 添加OpenFeign依赖

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
 </dependency>

 		如果使用 新版的SpringCloud Alibaba 需要添加该依赖
     <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
            <version>3.1.0</version>
     </dependency>
  1. 使用OpenFeign
    (1) 在要远程连接的微服务中,添加想要添加的Controller 层 的代码 如下:
    在这里插入图片描述

    (2) 配置微服务客户端(另一个微服务)
    可单独设置一个 feign包 存放 客户端连接(使用接口存放), 存放的内容为 上面Controller的方法,路径等 , 最后加上注解 FeignClient , name的值为另一个微服务的 application.name 如下
    在这里插入图片描述

    (3) 在 这个微服务中来调用上面写的接口(和调用普通的Service方法相同)
    (4) 在 主函数中开启Openfeign(添加注解)

    @EnableFeignClients
    

(5) 运行两个微服务(前提是两个微服务都注册到了Nacos上) , 在客户端入口输入地址即可远程连接另一个微服务

  1. Nacos配置中心
    (1)导入依赖

     <!--  nacos的配置中心依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!--读取bootstrap文件-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.0.4</version>
        </dependency>
    

    (2) 建bootstrap文件 (yaml或者properties格式)

    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    
    spring.application.name=服务名
    

    (3)在Nacos中配置
    在这里插入图片描述

    (4)动态刷新注解

    @RefreshScope  //放到Controller层
    

    在这里插入图片描述
    (5) 运行
    扩展: 为每个微服务添加命名空间并分组
    (1)根据每个微服务创建命名空间
    在这里插入图片描述
    (2) 为每个微服务添加不同的分组
    在这里插入图片描述
    (3) 修改bootstrap文件

spring.cloud.nacos.config.namespace=命名空间Id
spring.cloud.nacos.config.group=分组名称
  1. getway网关
    (1)创建Spring Boot项目,选择或导入GetWay网关的依赖
    (2)导入公共模块的依赖
    (3)开启服务注册发现(在主函数上加@EnableDiscoveryClient注解)
    (4) 注册进Nacos并添加配置中心

    //application.properties
    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
    spring.application.name=网关服务名
    server.port=88
    //bootstrap.properties
    spring.application.name=跳转服务名
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    spring.cloud.nacos.config.namespace=网关的命名空间Id
    

    (5)配置网关

    spring:
      cloud:
        gateway:
          routes:
            - id: 自定义Id
              uri: 跳转的地址
              predicates:
                - Query=跳转地址携带的参数
    

    (6)运行

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值