Nacos详细讲解

注意:Nacos端口号:8848、9848,记得在防火墙放行

一、介绍

Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是使用java编写。需要依赖java环境。

1.Nacos作为服务的注册发现中心

(1).添加依赖 注册发现的依赖

<!-- nacos 服务注册发现 --> 
<dependency> 
<groupId>com.alibaba.cloud</groupId> 
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

 (2).在配置文件中  指定Nacos注册发现中心的地址

spring.cloud.nacos.discovery.server-addr: 自己安装的Nacos的地址

2.Nacos作为服务的配置中心

(1).添加依赖 配置中心的依赖

<!-- nacos 配置中心依赖 -->
 <dependency> 
<groupId>com.alibaba.cloud</groupId>
 <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> 
</dependency>
 <!-- 读取bootstrap配置文件 --> 
<dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-bootstrap</artifactId>
 </dependency>

(2).编写配置文件 bootStrap.yml  不用  application.xxx

(3).在 Nacos 的客户端  新建配置

Datald:文件名 写法  有固定的规则

${prefix}-${spring.profiles.active}.${file-extension}

a: ${prefix}:默认取的是Spring.application.name的值,

可以通过spring.cloud.nacos.config.prefix:xxx来指定

b: -${spring.profiles.active}: springboot的环境

配置:spring.profiles.active:dev  ==>  -dev

如果没有指定环境 默认${prefix}.${file-extension}

c:${file-extension}指定配置文件的类型

两种:properties 或者yaml(yml)

如果不配置:properties   ==>  .proerties

配置:spring.cloud.nacos.config.file-extension:yml ==> .yml

环境:dev(开发)  test(测试)  pro(生产)

二、读取配置文件

(1)

@value(“${key}”) 默认不支持热更新,

必须配合SpringCloud原生注解

@RefreshScope

来支持热更新

(2)

@Configuration+@ConfigurationProperties(prefix=””)

默认热更新

A.提供set方法 B.属性名和除了前缀之外的名称一致

(3)

注入 Environment 调用getProperty(“key”)

读取配置优先级:nacos>local

三、端口号

1.端口8848

  • 功能定位:8848端口是Nacos的默认端口,用于服务的注册和发现,以及配置的管理和获取。这是Nacos的核心功能端口,支持微服务架构中的服务间通信和配置共享。
  • 使用场景:该端口主要用于客户端、控制台及OpenAPI的HTTP请求。通过8848端口,客户端可以注册服务、发现服务、获取配置信息,以及执行健康检查等操作。
  • 版本兼容性:从Nacos的早期版本到最新的2.x版本,8848端口都作为核心功能端口存在。

2.端口9848

  • 功能定位:在Nacos 2.x版本中,新增了9848端口作为管理端口(Management Port)。这个端口主要用于Nacos的管理功能,如查看集群状态、配置管理和服务管理等。
  • 使用场景:通过9848端口,用户可以访问Nacos的管理界面,执行一些高级的管理操作。这个端口的引入是为了将管理功能与核心服务发现和配置管理功能分离,提高系统的整体安全性和可维护性。
  • 版本变化:在Nacos 2.x版本之前,管理功能可能也通过8848端口进行,但从2.x版本开始,管理功能被明确划分到9848端口。

### Spring Cloud Alibaba入门教程与深入解析 #### 了解Spring Cloud Alibaba及其重要性 Spring Cloud Alibaba旨在帮助开发者更快速地构建微服务应用,提供了诸如服务注册与发现、配置管理等功能。作为Java生态系统的一部分,它继承了Spring家族的强大支持,在企业级应用开发中占据着重要的位置[^2]。 #### 组件概述 - **Nacos**: 实现了服务的自动注册与发现功能,并能与其他Spring Cloud组件良好协作来完成配置管理和动态更新操作[^3]。 ```yaml spring: application: name: example-service cloud: nacos: discovery: server-addr: localhost:8848 ``` - **Sentinel**: 提供了流量控制的能力,可以有效地保护系统的稳定性;当与Feign一起使用时还能增强调用间的容错机制[^4]。 ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> ``` - **Sleuth & Zipkin**: 支持分布式跟踪,有助于理解请求在整个系统中的流动情况以及性能瓶颈所在之处。 ```properties spring.zipkin.base-url=http://localhost:9411/ management.endpoints.web.exposure.include=* ``` - **API网关 (Gateway)**: 作为进入内部微服务体系的第一道防线,负责路由转发、权限校验等工作。 ```java @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route(r -> r.path("/api/**").uri("lb://example-service")) .build(); } ``` - **消息队列(MQ)**: 对于异步通信场景非常有用,能够解耦不同模块之间的依赖关系并提高整体吞吐量。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> ``` 通过上述介绍可以看出,Spring Cloud Alibaba不仅涵盖了传统意义上的微服务治理要素,还融入了许多针对中国互联网环境特点优化过的特性,使得其在国内市场具有较高的接受度和发展潜力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值