Spring Cloud alibaba Nacos在Windows上的配置使用

下载

官网
在这里插入图片描述
本次使用版本:nacos-server-1.1.4

启动

把刚才下载的压缩包解压到对应目录,进入bin目录下打开命令窗口
在这里插入图片描述
输入代码:

F:\java\微服务\Nacos\nacos-server-1.1.4\nacos\bin>startup.cmd

在这里插入图片描述
测试:http://localhost:8848/nacos
在这里插入图片描述
启动成功!查看服务,默认账号密码:nacos
在这里插入图片描述

创建注册中心

父pom文件添加:

      <!--spring cloud alibaba 2.2.0.RELEASE-->
      <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>2.2.0.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

子pom文件:

    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

yml文件:

server:
  port: 9001

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

业务类,controller层,简单写一个:

package com.atguigu.springcloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author zhouyang
 * @date 2020/5/23 - 17:02
 **/
@RestController
public class PaymentController {

    @Value("${server.port}")
    private String serverPort;

    @GetMapping("/payment/nacos/{id}")
    public String getPayment(@PathVariable("id") Integer id) {
        return "nacos register, serverport=" + serverPort + "\t id:" + id;
    }
}

启动微服务,启动完成后查看服务列表
在这里插入图片描述
测试:http://localhost:9001/payment/nacos/1
在这里插入图片描述

创建配置中心

pom文件:

    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

yml文件:
application.yml

spring:
  profiles:
    active: dev # 开发环境
#    active: test # 测试环境
#    active: info # 开发环境

bootstarp.yml

server:
  port: 3377
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # 注册中心
      config:
        server-addr: localhost:8848 # 配置中心
        file-extension: yaml # 这里指定的文件格式需要和nacos上新建的配置文件后缀相同,否则读不到
#        group: TEST_GROUP #分组
#        namespace: 72fb1ea8-1f06-4daa-a283-bd3311876c3e

#  ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# 相当于  nacos-config-client-dev.yaml

在配置管理中创建配置:
在这里插入图片描述
Data Id为 :
在这里插入图片描述
在这里插入图片描述
业务层,controller层:

package com.atguigu.springcloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author zhouyang
 * @date 2020/5/23 - 18:10
 **/
@RestController
@RefreshScope//实现配置自动更新
public class ConfigClientController {

    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/config/info")
    public String getConfigInfo() {
        return configInfo;
    }
}

启动后测试:http://localhost:3377/config/info
在这里插入图片描述

Nacos持久化切换配置

解释:

Nacos默认自带的嵌入式数据库derby 查看,
所以,如果启动多个默认配置下的Nacos,数据存储是存在一致性问题的。
为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,
目前只支持MySQL的存储。

在这里插入图片描述

切换:

1.执行sql文件

从nacos-server-1.1.4\nacos\config目录下找到nacos-mysql.sql文件,并在MySQL数据库中执行
在这里插入图片描述
执行完毕后:
在这里插入图片描述

2.修改application.properties文件

官网
在这里插入图片描述
在这里插入图片描述

3.重新启动Nacos

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值