Nacos相关知识

一、微服务注册中心

        注册中心可以说是微服务架构中的”通讯录“ ,它记录了服务和服务地址的映射关系。在分布式架构中, 服务会注册到这里,当服务需要调用其它服务时,就这里找到服务地址,进行调用。

主要作用

1、服务发现:

  • 服务注册/反注册:保存服务提供者和服务调用者的信息
  • 服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能
  • 服务路由(可选):具有筛选整合服务提供者的能力。

2、服务配置

  • 配置订阅:服务提供者和服务调用者订阅微服务相关的配置
  • 配置下发:主动将配置推送给服务提供者和服务调用者

3、服务健康检测

  • 检测服务提供者的健康情况

二、常见的注册中心

Zookeeper

zookeeper它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应 用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项 的管理等。简单来说zookeeper=文件系统+监听通知机制。

Eureka

Eureka是在Java语言上,基于Restful Api开发的服务注册与发现组件,Springcloud Netflix中的重要组 件

Consul

Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件, 采用Raft算法保证服务的一致性,且支持健康检查。

Nacos

Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。简单来说 Nacos 就是 注册中心 + 配置中心的组合,提供简单易用的特性集,帮助我们解决微服务开发必会涉及到的服务注册 与发现,服务配置,服务管理等问题。 Nacos 还是 Spring Cloud Alibaba 组件之一,负责服务注册与发现

三、Nacos简介

        Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。

1、搭建nacos环境

第1步: 安装nacos

下载地址: https://github.com/alibaba/nacos/releases 
下载zip格式的安装包,然后进行解压缩操作

第2步: 启动nacos
#切换目录 
cd nacos/bin 
#命令启动 
startup.cmd -m standalone
或者直接双击startup.cmd运行

第3步: 访问nacos

打开浏览器输入http://localhost:8848/nacos,即可访问服务, 默认密码是nacos/nacos

2、将微服务注册到nacos、

1 在pom.xml中添加nacos的依赖

2 在主类上添加@EnableDiscoveryClient注解

3 在application.yml中添加nacos服务的地址

4 启动服务, 观察nacos的控制面板中是否有注册上来的商品微服务

3、Namespace隔离设计

Nacos提供了namespace来实现环境隔离功能。

  • nacos中可以有多个namespace
  • namespace下可以有group
  • 不同namespace之间相互隔离,例如不同namespace的服务互相不可见

命名空间用于进行隔离,Namespace 的常用场景之一是不同环境的隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

 配置文件:

#将服务注册至dev命名空间下
spring:
	application:
		name: server-product
	cloud:
		nacos:
			discovery:
          server‐addr: 127.0.0.1:8848 # 注册中心地址
          namespace: --------------- # 开发环境
          cluster‐name: DEFAULT # 默认集群,可不填写
    	
#注意相互依赖的服务,即有方法调用的服务必须在同一个命名空间下

Nacos配置管理

Nacos除了可以做注册中心,同样可以做配置管理来使用

当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。


Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。
在业界常见的服务配置中心,有下面这些:
●Apollo是由携程开源的分布式配置中心。特点有很多,比如:配置更新之后可以实时生效,支持灰度发布功能,并且能对所有的配置进行版本管理、操作审计等功能,提供开放平台API。并且资料也写的很详细
●Disconf是由百度开源的分布式配置中心。它是基于Zookeeper来实现配置变更后实时通知和生效的
●SpringCloud Config这是Spring Cloud中带的配置中心组件。它和Spring是无缝集成,使用起来非常方便,并且它的配 置存储支持Git。不过它没有可视化的操作界面,配置的生效也不是实时的,需要重启或去刷新。
●Nacos这是SpingCloud alibaba技术栈中的一个组件,前面我们已经使用它做过服务注册中心。其实它也集成了服务配置的功能,我们可以直接使用它作为服务配置中心。

 注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。

从微服务拉取配置

微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。

但如果尚未读取application.yml,又如何得知nacos地址呢?

因此spring引入了一种新的配置文件: bootstrap.yaml文件,会在application.yml之前被读取,流程如下:

 

配置实现步骤:

1)引入nacos-config依赖

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

2)添加bootstrap.yaml

不能使用原来的application.yml作为配置文件,而是新建一个bootstrap.yml作为配置文件

配置文件优先级(由高到低):

bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml

3) 在nacos中添加配置

配置共享的优先级

当nacos、服务本地同时出现相同属性时,优先级有高低之分:

 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nacos 是一个开源的分布式配置中心和服务发现平台,它提供了统一的配置管理和服务发现功能,让应用的配置和服务注册更加简单和可靠。以下是 Nacos 配置中心的所有知识点: 1. Nacos 配置中心的概述:介绍 Nacos 配置中心的定义、作用、特点和优势等。 2. Nacos 配置中心的架构:介绍 Nacos 配置中心的架构和组件,包括 Nacos Server、Nacos Client、Nacos Config、Nacos Console 等。 3. Nacos 配置中心的安装和部署:介绍 Nacos 配置中心的安装和部署方法,包括单机部署和集群部署等。 4. Nacos 配置中心的配置管理:介绍 Nacos 配置中心的配置管理功能,包括配置发布、配置获取、配置监听等。 5. Nacos 配置中心的配置规则:介绍 Nacos 配置中心的配置规则,包括命名空间、数据 ID、分组、配置格式等。 6. Nacos 配置中心的配置集管理:介绍 Nacos 配置中心的配置集管理功能,包括创建配置集、删除配置集、配置集合并等。 7. Nacos 配置中心的配置推送:介绍 Nacos 配置中心的配置推送功能,包括配置推送的方式、推送的触发条件、推送的效果等。 8. Nacos 配置中心的配置变更:介绍 Nacos 配置中心的配置变更功能,包括配置变更的记录、变更的回滚、变更的通知等。 9. Nacos 配置中心的配置加密:介绍 Nacos 配置中心的配置加密功能,包括加密的配置数据、加密的密码管理、加密的数据传输等。 10. Nacos 配置中心的配置备份和恢复:介绍 Nacos 配置中心的配置备份和恢复功能,包括备份的方式、恢复的方法、备份的周期等。 11. Nacos 配置中心的配置权限管理:介绍 Nacos 配置中心的配置权限管理功能,包括配置的读写权限、配置的管理权限、权限的授权等。 12. Nacos 配置中心的配置存储和缓存:介绍 Nacos 配置中心的配置存储和缓存机制,包括配置数据的存储方式、缓存的策略、缓存的更新机制等。 13. Nacos 配置中心的配置扩展:介绍 Nacos 配置中心的配置扩展功能,包括扩展的插件、扩展的接口、扩展的实现方式等。 14. Nacos 配置中心的最佳实践:介绍 Nacos 配置中心的最佳实践,包括配置的设计原则、配置的管理策略、配置的使用技巧等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值