【SpringCloud入门】-- 认识SpringCloudAlibabaNacos服务注册和配置中心

目录

1.Nacos是什么?

2.Nacos能干什么?

3. 各种服务注册中心比较

4.Nacos安装与运行

5.介绍一下Nacos图形化界面

6.NameSpace,Group,Data ID三者的关系?为什么这样设计?

7.Nacos集群和持久化配置

8.SpringCloudAlibaba各组件版本说明

9. Nacos的核心概念


前言:前面我们已经简单讲解过Eureka注册中心,但是随着时间的推移,Eureka已经停更也出现了一些痛点,替而代之的是Nacos,我们今天就来简单讲解一下Nacos,鉴于本人也在学习中,如有错误,感谢大佬指正!本人一定及时更正,以免误人子弟!

上文Eureka文章地址:(5条消息) 【SpringCloud入门】-- 初识Eureka注册中心_月月崽的博客-CSDN博客

1.Nacos是什么?

它是一个更加易于构建云原生应用的动态服务发现,配置管理和服务管理中心。

Nacos:Dynamic Naming and Configuration Service  (注红部分是Nacos名字的组成)

Nacos就是注册中心+配置中心的组合;Nacos等价于:Nacos = Eureka + config + Bus

2.Nacos能干什么?

它可以替代Eureka做服务注册中心,替代Config做服务配置中心!

官方下载地址:Nacos的GitHub地址https://github.com/alibaba/Nacos

官方文档: 
Nacos官方文档地址homehttps://nacos.io/zh-cn/index.html

3. 各种服务注册中心比较

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

CAP原理又称为CAP定理,指的是在分布式系统中,一致性、可用性、分区容错性。CAP原则指的是,三个只能选择两个,不可兼得!

不是很了解的可以看下我之前的文章: (5条消息) 【SpringCloud入门】-- 初识Eureka注册中心_月月崽的博客-CSDN博客

4.Nacos安装与运行

  1.  先从官网下载Nacos     https://github.com/alibaba/nacos/releases/tag/2.2.3
  2. 解压安装包,直接运行 bin/startup.cmd -m standalone(单机运行)
    默认集群方式启动,如果单机启动需要设置 -m  Standalone参数 否则报错
  3. 命令运行成功后直接访问  http://localhost:8848/nacos   默认账号密码:nacos
  4. 登录成功页面

5.介绍一下Nacos图形化界面

  • 配置管理
  • 命名空间

6.NameSpace,Group,Data ID三者的关系?为什么这样设计?

外层的namespace是可以用于区分部署环境,Group和DataID逻辑上区分两个目标对象。

默认情况:Namespace:public,Group:DEFAULT_GROUP,默认Cluster是default

  • Nacos默认的命名空间是public,Namespace主要用于隔离环境。
  •  Group默认DEFAULT_GROUP,group可以把不同微服务分到同一个组。server就是微服务,一个server可以包含多个Cluster集群,Nacos默认Cluster是default,Cluster是指定微服务的虚拟划分。
  • Instance是微服务的实例。

7.Nacos集群和持久化配置

官网说明:集群部署说明

8.SpringCloudAlibaba各组件版本说明以及SpringBoot版本说明

下图摘自:版本说明https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

 

 

9. Nacos的核心概念

  • 服务(Service):服务指的是一个或一组的功能,其目的是让不同的客户端可以为不同的需求重用。Nacos支持主流的服务生态:Kubernetes Service 、 gRPC|Dubbo RPC Service 或 者 Spring Cloud RESTful Service.
  • 服务注册中心(Service Registry):服务注册中心,它是服务实例以及元数据的数据库。服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由器的客户端擦汗寻服务注册表以查找服务的可用实例。服务注册中心可能会调用服务实例的健康查询API来验证它是否能够处理请求。
  • 服务元数据(Service Metadata):服务元数据是指包括服务端点,服务标签,服务版本号,服务实例权重,路由规则,安全策略等描述服务的数据。
  • 服务提供方(Service Provider):是指可复用和可调用服务的一方。
  • 服务消费方(Service Consumer):是指发起对服务调用的一方。
  • 配置(Configuration)--配置文件中心:在系统开发中通常会将一些需要变更的参数,变量等从代码中分离出来独立管理,以独立的和配置文件的形式存在。目的是让静态的系统工件或者交付物(WAR,JAR包等)更好地和实际的物理运行环境进行适配。
  • 配置管理(Configuration Management):在数据中心中,系统中所有的配置的编辑,存储,分发,变更管理,历史版本管理,变更审计等所有与配置相关的活动统称为配置管理。
  • 名字服务(Naming Service):提供分布式系统中所有对象(Object)、实体(Entity)的“名字”到关联的元数据之间的映射管理服务
  • 配置服务(Configuration Service):在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。
  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
Spring Cloud Alibaba Nacos 是一个服务注册心和配置中心,可以实现服务注册与发现、配置的动态管理等功能,同时还提供了容灾和高可用的支持。下面简单介绍如何使用 Nacos 实现 Spring Cloud 的配置容灾。 首先,在应用的 `pom.xml` 文件添加如下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.3.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.2.3.RELEASE</version> </dependency> ``` 然后在 `application.properties` 配置 Nacos 的地址和应用的名称: ```properties spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 spring.cloud.nacos.discovery.namespace=your-namespace spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.namespace=your-namespace spring.cloud.nacos.config.file-extension=properties spring.application.name=your-application-name ``` 其 `server-addr` 是 Nacos 的地址,`namespace` 是命名空间,`file-extension` 是配置文件的扩展名,`application.name` 是应用的名称。 接着在 `bootstrap.properties` 配置应用的环境和配置来源: ```properties spring.profiles.active=dev spring.cloud.nacos.config.prefix=${spring.application.name}-${spring.profiles.active} spring.cloud.nacos.config.group=DEFAULT_GROUP spring.cloud.nacos.config.shared-dataids=${spring.application.name}-${spring.profiles.active}.properties ``` 其 `spring.profiles.active` 是应用的环境,`prefix` 是配置文件的前缀,`group` 是配置文件所在的分组,`shared-dataids` 是配置文件的名称。 最后,在代码使用 `@Value` 注解来获取配置项的值: ```java @RestController public class ConfigController { @Value("${config.key}") private String configValue; @GetMapping("/config") public String getConfig() { return configValue; } } ``` 其 `config.key` 是配置项的名称。 以上就是使用 Nacos 实现 Spring Cloud 的配置容灾的简单示例。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

月月崽

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值