Spring Cloud Alibaba 使用 feign 和 rebion 进行服务消费

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud Alibaba 使用 feign 和 rebion 进行服务消费相关的知识,希望对你有一定的参考价值。

参考技术A 创建一个 springboot 项目,springboot 是将服务进行拆分的一个最小服务单位。

其中 @EnableDiscoveryClient 将服务注册到注册中心,@EnableFeignClients 扫描和注册feign客户端bean定义。fegin bean定义是 @FeignClient。

这里 @FeignClient 就是创建bean 给 @EnableFeignClients 扫描的注册。 @FeignClient 里面的配置 value 对应的是服务提供者的服务名称,@GetMapping里面的value对应服务提供者的 @GetMapping 路径。

Spring Cloud Alibaba入门十:Nocas配置中心使用

1. 项目pom.xml引入依赖文件

<!-- 1.引入Nacos配置中心依赖 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2. 创建bootstrap.yml配置文件

Nacos的Data ID详解:

Nacos配置管理中,配置文件的Data ID的默认格式如下:

${prefix}

Nacos配置管理中,配置文件的Data ID的完整格式如下:

${prefix} - ${spring.profiles.active} . ${file-extension}

Data ID格式说明:

1.${prefix}默认为spring.application.name的值,也可以通过配置项spring.cloud.nacos.config.prefix来配置

注意:除了默认配置文件(spring.application.name)的Data ID,其他配置文件的Data ID必须写上后缀

2.${spring.profiles.active}取spring.profiles.active的值,如(dev、prod、test)

注意:当${spring.profiles.active}为空时,对应的连接符"-"也将不存在,Data ID的拼接格式变成${prefix}.${file-extension}

3.${file-extension}为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension来配置;目前只支持properties和yaml类型

4.建议采用默认格式,使用不同的表空间来放置不同的配置文件

spring:
application:

应用名称(Nacos会将该名称当做服务名称,同时也是配置管理中默认的Data ID)

name: nacos-config-service

cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos

指定命名空间,默认:public

    namespace: pro
    # 指定命名空间下的分组,默认:DEFAULT_GROUP
    group: order
    # Nacos配置管理中dataId的前缀名称,默认为spring.application.name的值
    prefix: com.qfx.springcloud.config
    # Nacos配置管理中配置内容的数据格式,默认.Properties(可不写)
    file-extension: yaml

    # ==========↑↑↑↑↑↑ 一般情况只需要以上的这些配置信息就可以了 ↑↑↑↑↑↑==========
    # 引用其他配置文件(方式一),以数组形式存放,文件优先级低于extension-configs引用方式
    shared-configs:
      # 下标[0],下标越大优先级越高
      - data-id: com.qfx.springcloud.common.properties
        # 动态感知Nacos配置文件信息的改变,默认false
        refresh: true
        # 默认DEFAULT_GROUP
        group: common-001
      # 下标[1],下标越大优先级越高
      - data-id: com.qfx.springcloud.common.properties
        refresh: true
    # 引用其他配置文件(方式二),以数组形式存放,文件优先级高于shared-configs引用方式
    extension-configs:
      # 下标[0],下标越大优先级越高
      - data-id: com.qfx.springcloud.common.properties
        refresh: true
        group: common-002
      # 下标[1],下标越大优先级越高
      - data-id: com.qfx.springcloud.common.properties
        refresh: true
        group: common-003
    # 配置文件优先级(优先级大的会覆盖优先级小的,并形成互补),唯独prefix与默认配置文件(spring.application.name)互斥,prefix会覆盖默认配置文件,默认配置中所有配置信息都不会生效
    # 优先级如下:
    # spring.cloud.nacos.config下的prefix完整格式
    #           ↓
    # spring.cloud.nacos.config下的prefix默认格式
    #           ↓
    # 默认配置文件(spring.application.name)
    #           ↓
    # extension-configs(下标越大优先级越高)
    #           ↓
    # shared-configs(下标越大优先级越高)
## 3. Nacos新建配置信息
> 在Nacos中创建配置文件,namespace、group等信息要符合bootstrap.yml配置文件中迪对应
```shell
server:
  port: 8070

4. 配置文件引用

4.1 方式一:把配置信息都放置在Nacos中

4.2 方式二:把配置信息变量放置在Nacos中

4.2.2 创建application.yml文件

# 以下内容建议放置在application.properties或者application.yml文件中,优先级:application.properties > application.yml
spring:
  datasource:
    driver-class-name: ${my.datasource.driver-class-name}
    url: ${my.datasource.url}
    username: ${my.datasource.username}
    password: ${my.datasource.password}

以上是关于Spring Cloud Alibaba 使用 feign 和 rebion 进行服务消费的主要内容,如果未能解决你的问题,请参考以下文章

推荐一款基于Spring Cloud Alibaba 的微服务快速开发平台(MateCloud)

Spring Cloud Alibaba 使用nacos 注册中心

Spring Cloud Alibaba nacos 配置中心使用

Spring Cloud Alibaba 使用nacos 注册中心

Spring Cloud Alibaba入门十:Nocas配置中心使用

Spring Cloud Alibaba环境搭建