目录
6.NameSpace,Group,Data ID三者的关系?为什么这样设计?
前言:前面我们已经简单讲解过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管理 | 控制台管理 | 社区活跃度 |
Eureka | AP | 支持 | 低(2.x版本闭源) |
Zookeeper | CP | 不支持 | 中 |
Consul | CP | 支持 | 高 |
Nacos | AP | 支持 | 高 |
CAP原理又称为CAP定理,指的是在分布式系统中,一致性、可用性、分区容错性。CAP原则指的是,三个只能选择两个,不可兼得!
不是很了解的可以看下我之前的文章: (5条消息) 【SpringCloud入门】-- 初识Eureka注册中心_月月崽的博客-CSDN博客
4.Nacos安装与运行
- 先从官网下载Nacos https://github.com/alibaba/nacos/releases/tag/2.2.3
- 解压安装包,直接运行 bin/startup.cmd -m standalone(单机运行)
默认集群方式启动,如果单机启动需要设置 -m Standalone参数 否则报错 - 命令运行成功后直接访问 http://localhost:8848/nacos 默认账号密码:nacos
- 登录成功页面
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):在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。