SpringCloud Alibaba学习笔记 ——(三、基于 Nacos 实现分布式注册中心)

  • 三、基于 Nacos 构建分布式配置中心

    • 3.1 回顾 Nacos
  • 3.2 分布式配置中心产生背景?

  • 3.3 分布式配置中心架构原理

  • 3.4 实现 nacos 配置中心的功能

  • 3.5 Nacos 实现多环境不同配置

Author: Gorit

Date:2020年12月

Refer:阿里云大学

2021年发表博文: 8/30

三、基于 Nacos 构建分布式配置中心

===================================================================================

3.1 回顾 Nacos


Nacos 是 阿里巴巴的开源框架,提供如下两种功能:

  1. 注册中心

  2. 分布式配置中心

分布式配置中心:

  1. Zookeeper

  2. SpringCloudConfig

  3. 携程阿波罗

3.2 分布式配置中心产生背景?


传统项目出现的问题:

在项目中定义配置文件,最大的缺陷,如果在生产环境正在运行时突然需要修改配置文件,必须重启服务器。

分布式配置中心的概念?

使用专门的服务器统一存放管理我们整个微服务的配置文件,能够完全动态的实现对我们配置文件修改,新增,是不需要重启我们的服务器的。

有哪些分布式配置中心?

  1. 携程阿波罗(属于比较重量级的分布式配置中心)学习成本高

  2. Nacos(属于轻量级)部署、架构设计比较简单,学习成本低

  3. SpringCloud Config(没有界面)

3.3 分布式配置中心架构原理


如何判断配置文件是否法还是能变化

采用版本 | MD5

分布式配置中心实现原理:

  1. 本地应用读取我们云端分布式配置中心文件(第一次建立长连接)

  2. 本地应用读取到配置文件之后,本地 jvm 和硬盘都会缓存一份

  3. 本地应用于分布式配置中心服务端一直保持长连接

  4. 当我们配置文件发生变化(MD5|版本号)实现区分,将变化结果及时通知我们的本地应用并及时刷新我们的配置文件

完全百分之百动态修改我们的配置文件

在这里插入图片描述

在这里插入图片描述

注意:Nacos 分布式配置中心 和 注册中心都部署在同一个应用,就是一个单体应用

Nacos 使用配置中心发布规则

  1. DataId 名称:默认情况服务名称-版本.yml | properties

注意事项:nacos 本地如果也配置的话,可能启动时会抛出异常

bootstrap 与 application 区别

  1. 前者属于整个应用程序,最先被加载

  2. 后者针对当前 springApplication 的 ApplicaitonContext 加载

3.4 实现 nacos 配置中心的功能


  1. 新建一个 Maven 项目,导入依赖

org.springframework.boot

spring-boot-starter-web

com.alibaba.cloud

spring-cloud-starter-alibaba-nacos-discovery

2.2.3.RELEASE

com.alibaba.cloud

spring-cloud-starter-alibaba-nacos-config

2.2.3.RELEASE

  1. 创建 application.yml 和 bootstrap.yml

application.yml

spring:

application:

name: gorit-member

cloud:

nacos:

注册中心

discovery:

server-addr: 127.0.0.1:8848

配置中心

config:

server-addr: 127.0.0.1:8848

group: DEFAULT_GROUP

file-extension: properties # 默认是 properties,还可以是 yaml

读者福利

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

更多笔记分享

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

48

配置中心

config:

server-addr: 127.0.0.1:8848

group: DEFAULT_GROUP

file-extension: properties # 默认是 properties,还可以是 yaml

读者福利

[外链图片转存中…(img-ewPKffZf-1714466672150)]

更多笔记分享

[外链图片转存中…(img-G4Wlsmyc-1714466672151)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值