Nacos介绍和统一配置管理
Nacos(全称为 Alibaba Cloud Nacos,或简称为 Nacos)是一个开源的分布式服务发现和配置管理系统。
Nacos(全称为 Alibaba Cloud Nacos,或简称为 Nacos)是一个开源的分布式服务发现和配置管理系统。它由阿里巴巴集团开发并开源,旨在帮助开发人员简化微服务架构下的服务注册、发现和配置管理。
在黑马头条中nacos和gateway一起使用的结构图:流程如下:
1、微服务启动,将自己注册到Nacos,Nacos记录了各微服务实例的地址。
2、网关从Nacos读取服务列表,包括服务名称、服务地址等。
3、请求到达网关,网关将请求路由到具体的微服务。
在这里gateway起到的是一个路由请求的作用,Nacos起到注册中心和配置管理服务的作用。
要使用网关首先搭建Nacos:
- 在搭建Nacos服务发现中心之前需要搞清楚两个概念:namespace和group
- namespace:用于区分环境、比如:开发环境、测试环境、生产环境。
- group:用于区分项目,比如:xuecheng-plus项目、xuecheng2.0项目
- 首先搭建Nacos服务发现中心。
- 首先在nacos配置namespace:
- 登录Centos,启动Naocs,使用sh/data/soft/restart.sh将自动启动Nacos。
- 访问:http://192.168.101.65(主机地址):8848/nacos/账号密码:nacos/nacos
- 登录成功,点击左侧菜单“命名空间”进入命名空间管理界面。
一、Nacos 提供了以下主要功能:
-
服务注册与发现(Service Registration and Discovery):Nacos 允许应用程序在启动时向注册中心注册自己的服务,并能够发现其他服务的位置和相关信息。这样,不同的服务实例可以通过 Nacos 相互发现和通信,实现微服务架构的服务注册与发现机制。
-
动态配置管理(Dynamic Configuration Management):Nacos 提供了统一的管理界面和 API,用于管理服务的配置信息。应用程序可以使用 Nacos 动态地获取配置,而无需停止或重启。这使得应用程序的配置管理更加灵活和集中化。
-
服务与流量管理(Service and Traffic Management):Nacos 提供了一套丰富的服务路由和流量管理功能,可以帮助开发人员实现流量控制、服务降级、负载均衡等,以提高服务的可靠性和性能。
-
命名空间和集群管理(Namespace and Cluster Management):Nacos 支持多租户环境中的命名空间和集群管理,可以帮助用户在复杂的多环境部署中进行灵活管理和配置。
Nacos 提供了面向开发人员友好的用户界面和丰富的 API,支持多种开发语言和生态系统。它可以与各种应用程序和中间件集成,包括 Spring Cloud、Dubbo、Kubernetes 等,提供可靠的微服务基础设施。
二、nacos注册中心细节分析
1.Nacos与eureka的共同点
- 都支持服务注册和服务拉取
- 都支持服务提供者心跳方式做健康检测
2.Nacos与Eureka的区别
- Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模 式临时实例心跳不正常会被剔除,非临时实例则不会被剔除。
- Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
- Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式
三、统一配置管理
在程序中如何获取配置:
具体代码实现:
运用Spring Cloud Alibaba Nacos作为项目中的注册中心和配置中心,还能选择使用Eureka作为服务中心,nacos多个配置中心的功能,下面是nacos和eureka的共同点和区别:
1、Nacos与eureka的共同点
- 都支持服务注册和服务拉取
- 都支持服务提供者心跳方式做健康检测
2、Nacos与Eureka的区别
- Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式;
- 临时实例心跳不正常会被剔除,非临时实例则不会被剔除;
- Nacos支持服务列表变更的消息推送模式,服务列表更新更及时;
- Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式
看不懂?那看这个
- 接口方式:Nacos与Eureka都对外暴露了Rest风格的API接口,用来实现服务注册、发现等功能;
- 实例类型:Nacos可以支持非临时实例;而Eureka只支持临时实例;
- 健康检测:Nacos对临时实例采用心跳模式检测,对永久实例采用主动请求来检测;Eureka只支持心跳模式;
- 服务发现:Nacos支持定时拉取和订阅推送两种模式;Eureka只支持定时拉取模式;
更多推荐
所有评论(0)