Spring Cloud Alibaba Nacos 搭建 及整合spring boot 作为注册中心和配置中心

转载请表明出处 https://blog.csdn.net/Amor_Leo/article/details/103496056 谢谢

源码

SpringCloud+OAuth2+Spring Security+Redis+Jwt+zuul(gateway)+Nacos 实现的微服务统一认证授权
GitHub

安装Nacos

Nacos官网

环境

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
64 bit JDK 1.8+
Maven 3.2.x+

下载源码或者安装包

你可以通过源码和发行包两种方式来获取 Nacos。

  1. Github 上下载源码方式
    git clone https://github.com/alibaba/nacos.git
    cd nacos/
    mvn -Prelease-nacos clean install -U  
    ls -al distribution/target/
    // cd distribution/target/nacos-server-$version/nacos/bin
    cd distribution/target/nacos-server-1.2.0-SNAPSHOT/nacos/bin/
    
  2. 下载编译后压缩包方式
    您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。
    unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
    cd nacos/bin
    

配置集群配置文件

  • 在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf(没有则自建),请每行配置成ip:port。(请配置3个或3个以上节点)。如下:
    # ip:port
    192.168.0.101:8848
    192.168.0.102:8848
    192.168.0.103:8848
    
  • 如果没有这么多机器资源,可以直接在一台机器上部署,区分端口号即可(修改application.properties 文件里的端口号)。如下:
    # ip:port
    192.168.0.97:8848
    192.168.0.97:8849
    192.168.0.97:8847
    

配置 MySQL 数据库

  1. 新建一个名为nacos的数据库,运行conf/nacos-mysql.sql脚本文件。
  2. 找到conf/application.properties,编辑里面的内容,主要目的是启用MySQL作为存储层(目前仅支持MySQL)。在该文件末尾追加:
    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=GMT%2B8
    db.user=root
    db.password=root
    

启动服务器

  • Linux/Unix/Mac
    启动命令:

    • standalone代表着单机模式运行,非集群模式 :

      sh startup.sh -m standalone
      
    • cluster代表着集群模式运行(分别在三个命令窗口启动NACOS):

      sh startup.sh -m cluster
      

    如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

    bash startup.sh -m standalone
    
    bash startup.sh -m cluster
    
  • Windows
    启动命令:
    双击startup.cmd运行文件
    或者采用下面命令:

    • standalone代表着单机模式运行,非集群模式 :

      startup.cmd -m standalone
      
    • cluster代表着集群模式运行(分别在三个命令窗口启动NACOS):

      startup.cmd -m cluster
      

访问

访问http://127.0.0.1:8848/nacos/index.html,使用nacos/nacos登录。
在这里插入图片描述

Spring Boot 整合Nacos作为注册中心和配置中心

pom 依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>0.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

bootstrap.yml

server:
  port: 8000
spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: sophia-auth
  cloud:
    nacos:
      config:
        server-addr: 192.168.0.97:8848,192.168.0.97:8849,192.168.0.97:8840 
        file-extension: yml # 如果不写 默认 properties
        group: DEFAULT_GROUP
      discovery:
        server-addr: 192.168.0.97:8848,192.168.0.97:8849,192.168.0.97:8840
  profiles:
    active: dev

启动类

@SpringBootApplication
@EnableDiscoveryClient

nacos添加配置

在这里插入图片描述
添加配置的过程不再赘述,需要注意的是Data Id的填写规范。dataId的完整格式由三部分组成:

${prefix}-${spring.profile.active}.${file-extension}
  • prefix: 默认使用${spring.application.name},也可以通过spring.cloud.nacos.config.prefix来配置。
  • spring.profile.active: 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 p r e f i x . {prefix}. prefix.{file-extension}
  • file-exetension: 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值