zoukankan      html  css  js  c++  java
  • SpringCloud 整合 Naocs

    1:  Nacos搭建可以参考 https://www.cnblogs.com/zhangXingSheng/p/13678173.html

    SpringCloud 版本

     <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Greenwich.SR2</version>
            <type>pom</type>
           <scope>import</scope>
    </dependency>
    

    Nacos pom

    <!--配置中心pom-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
                <version>${alibaba-nacos-config.version}</version>
            </dependency>
    
    <!--服务发现pom-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
                <version>${alibaba-nacos-discovery.version}</version>
            </dependency>
    

    数据库pom

     <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.conn.version}</version>
            </dependency>
    

    order 项目 bootstrap.yml 配置

    spring:
    application:
    name: order-server
    profiles:
    active: dev
    cloud:
    nacos:
    config:
    server-addr: 10.0.0.51:8848 # 配置中心nacos的地址
    file-extension: yml # 配置文件后缀(格式)
    group: business-app # 分组名称
    namespace: ${spring.profiles.active} # 命令空间,可以用来区分不同的环境
    discovery:
    server-addr: 10.0.0.51:8848 # 服务发现地址nacos的地
           
    namespace: ${spring.profiles.active}


    server:
    port: 8056

    在 Nacos的控制台左侧找到命名空间的菜单,新增命名空间

    命名空间id : dev
    
    命名空间名称: dev
    
    描述:开发环境
    

                                                                                                    配置中心功能-测试

    在配置管理-》配置列表右侧,找到 + 的标志,点击后新增配置

    将yml 中的配置添入进去

    之所以需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId字段的一部分。
    在 Nacos Spring Cloud 中,dataId 的完整格式如下:
    ${prefix}-${spring.profiles.active}.${file-extension}
        prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
        spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
        file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

    上面配置好后,可以启动项目

    启动日志:

                                                                                                         Ignore the empty nacos configuration and get it based on dataId[order-server.yml] & group[business-app]
    2020-09-16 14:05:07.053  WARN 27342 --- [           main] c.a.c.n.c.NacosPropertySourceBuilder     : Ignore the empty nacos configuration and get it based on dataId[order-server-dev.yml] & group[business-app]
    2020-09-16 14:05:07.053  INFO 27342 --- [           main] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='order-server-dev.yml,business-app'}, NacosPropertySource {name='order-server.yml,business-app'}, NacosPropertySource {name='order-server,business-app'}]}
    2020-09-16 14:05:07.077  INFO 27342 --- [           main] com.order.OrderApplication               : The following profiles are active: dev
    

     从日志可以看到他会从nacos上匹配 based on dataId[order-server-dev.yml] & group[business-app] 和 [order-server.yml] & group[business-app] 配置文件。并且项目也是启动成功的,因为项目中加入了数据库的pom,如果没有获取到配置会启动失败。

                                                                                                             服务发现功能-测试

    按照上面yml 中的配置,启动后在服务列表中看到我们的项目

    按照上面的配置,再创建一个项目 account-server ,注意修改新项目的spring.application.name

    在order 项目的pom中添加feign 配置

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

    测试用户下单成功后,扣减帐户钱。order 调用 account 服务,使用feign,跟一般的feign使用一样。 启动account服务

    代码目录 : https://gitee.com/zhangxingsheng/seata-demo

  • 相关阅读:
    【NYOJ】[168]房间安排
    【NYOJ】[168]房间安排
    【POJ】[3253]Fence Repair
    【POJ】[3253]Fence Repair
    【杭电】[2111]Saving HDU
    【杭电】[2111]Saving HDU
    【杭电】[3635]Dragon Balls
    【杭电】[3635]Dragon Balls
    [leetcode]159. Longest Substring with At Most Two Distinct Characters至多包含两种字符的最长子串
    [leetcode]3. Longest Substring Without Repeating Characters无重复字母的最长子串
  • 原文地址:https://www.cnblogs.com/zhangXingSheng/p/13678250.html
Copyright © 2011-2022 走看看