nacos服务配置和持久化配置


在这里插入图片描述

一、Nacos服务注册中心对比提升

服务注册与发现框架CAP模型控制台管理社区活跃度
EurekaAP支持低(2.x版本闭源)
ZookeeperCP不支持
ConsulCP支持
NacosAP支持

CAP模型

  • 一致性(Consistency):同一时刻的同一请求的实例返回的结果相同,所有的数据要求具有强一致性(Strong Consistency)
  • 可用性(Availability):所有实例的读写请求在一定时间内可以得到正确的响应
  • 分区容错性(Partition tolerance):在网络异常(光缆断裂、设备故障、宕机)的情况下,系统仍能提供正常的服务

以上三个特点就是CAP原则(又称CAP定理),但是三个特性不可能同时满足,所以分布式系统设计要考虑的是在满足P(分区容错性)的前提下选择C(一致性)还是A(可用性),即:CP或AP。

二、Nacos服务配置中心

1. 添加依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2021.1</version>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2021.1</version>
</dependency>

2. 配置application.yaml

spring:
  profiles:
    active: dev #表示开发环境

3. 配置bootstrap.yaml

# nacos配置
server:
  port: 3377
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery: #注册
        server-addr:
          localhost: 8848 #Nacos服务注册中心地址
      config: #开启配置中心
        server-addr:
          localhost: 8848 #Nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置

# 官方给出的格式
# ${prefix}-${spring.profiles.active}.${file-extension}
# ${spring.application.name}-${spring.profiles.active}.${file-extension}

# 实际格式
# nacos-config-client-dev.yaml

4. 平台创建配置规则

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

5. 业务层编写

@RestController
@RefreshScope //支持Nacos动态刷新功能
public class ConfigClientController {
    @Value("${config.info}")
    private String configInfo;
    @GetMapping("/config/info")
    public String getConfigInfo(){
        return configInfo;
    }
}

6. 访问获取配置内容

这里是引用

7. Nacos动态刷新(@RefreshScope注解)

业务层引入的注解@RefreshScope支持Nacos动态刷新功能

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

三、切换不同环境

1. DateId方案

首先按照之前的步骤,在平台创建两个配置(dev和test)

在这里插入图片描述
在这里插入图片描述
重启项目,测试是否切换到test环境的配置在这里插入图片描述

2. Group方案

Group分组默认是DEFAULT_GROUP,所以我们需要分出两组:一组是dev开发组,一组为test测试组
在这里插入图片描述在这里插入图片描述查看配置列表,检查是否配置成功
在这里插入图片描述
变更application.yamlbootstrap.yaml配置文件,测试info下的test:
在这里插入图片描述
重新访问,查看是否切换成功分组
在这里插入图片描述

3. Namespace空间方案

新建test和dev两个命名空间
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改配置文件在这里插入图片描述
手动在test命名空间下新建三个分组
在这里插入图片描述
访问测试
在这里插入图片描述

四、Nacos持久化配置

1. derby数据库

Nacos中会默认自带嵌入式数据库derby,所以我们每次创建一个Nacos实例就会有一个derby,当有多个Nacos节点的时候,就会出现一致性问题,所以Nacos支持外部数据库统一管理MySql。

2. 切换MySql数据库

① 创建数据库

在数据库中创建nacos_config库
CREATE DATABASE nacos_config;

② 在数据库中执行navos-mysql.sql脚本

在这里插入图片描述
该库中会出现如下的表:

在这里插入图片描述

③ 修改application.properties文件

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=UTC
db.user=nacos_devtest
db.password=youdontknow

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

④ 测试

启动nacos
在这里插入图片描述
新建配置
在这里插入图片描述
查看本地数据库,数据存在,说明切换mysql数据库成功!
在这里插入图片描述

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Nacos配置中心中,可以使用本地持久化来存储配置信息。一种常见的方式是使用MySql数据库来管理配置信息。首先,需要创建一个MySql数据库。然后,在数据库中执行navos-mysql.sql脚本,该脚本会创建必要的表结构和数据。接下来,修改application.properties文件,将数据源配置为MySql数据库。最后,进行测试,确保配置中心可以正常使用。 另外,在配置文件中可以通过配置dataId和groupId来指定配置的唯一标识。通过设置server-addr参数,可以指定Nacos的地址。datasource配置中的nacos属性用来指定Nacos服务地址、数据ID、组ID、数据类型和规则类型。其中,service-url用来指定消费者要访问的微服务名称。 总结一下,要实现Nacos配置中心的本地持久化,需要进行以下步骤: 1. 创建MySql数据库并执行navos-mysql.sql脚本。 2. 修改application.properties文件,将数据源配置为MySql数据库。 3. 进行必要的测试来验证配置中心的功能。 这样,就可以实现Nacos配置中心的本地持久化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [nacos服务配置持久化配置](https://blog.csdn.net/weixin_45203988/article/details/124874614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Sentinel整合Nacos配置中心持久化](https://blog.csdn.net/xm393392625/article/details/129970223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

建桥之魂

建桥人,建桥魂,建桥都是人上人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值