• 中文
    • English
  • 注册
  • 查看作者
  • 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    前言

    Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

    Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    在这个介绍中,可以看出Nacos至少有三个核心功能:

    1. 动态服务发现

    2. 配置管理

    3. 服务管理

    后续会分别来介绍这三个功能是怎么回事

    下载和解压

    教程制作时,Nacos的最新发⾏版为2.1.1 (Aug 8th, 2022)(本教程就是基于这个版本),官⽅当前推荐的稳定版本为2.0.3。

    并且可以在此⽹⻚上下载安装包:

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    下载完了之后进⾏解压,解压之后的⽬录为:

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    1. bin⽬录下是启动和停⽌的脚本

    2. conf⽬录下是Nacos的配置⽂件

    3. target⽬录下是Nacos的jar包(启动脚本中其实就是运⾏的这个jar包,停⽌脚步中是直接kill到进程)

    启动

    解压完之后就可以启动Nacos了,Nacos⽀持单机和集群,默认是以集群模式启动,通过添加-mstandalone就会以单机模式启动。

    Linux/Unix/Mac

    启动命令(standalone代表着单机模式运⾏,⾮集群模式):

    如果您使⽤的是ubuntu系统,或者运⾏脚本报错提示[[符号找不到,可尝试如下运⾏:

    Windows

    启动命令(standalone代表着单机模式运⾏,⾮集群模式):

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    可以发现,默认情况下Nacos占⽤了8848端⼝。

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    这个⽹⻚相当于nacos的管理台,有:

    1. 配置管理

    2. 服务管理

    3. 权限控制

    4. 命名空间

    5. 集群管理

    配置管理

    配置,其实就是⼀个key:value,⽐如

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    并且我们通常会把这些配置写在application.properties或application.yml⽂件中,当时通过这种⽅式⼀定配置发⽣了改变就需要重启应⽤,并且通过这种⽅式配置的配置项仅限于当前应⽤,⽽不能做到多个应⽤共享。

    那么nacos的配置管理功能就是来解决这些问题的,我们可以直接通过nacos管理台来新增配置,并且这些配置能够被多个应⽤给使⽤到。

    新建配置

    新建配置时可以指定:

    1. Data ID:相当于⼀个配置⽂件,⽐如相当于application.properties,或者application-dev.properties,不过要注意的是,我们在某个项⽬中使⽤application.properties⽂件中,那个application表示的就是当前应⽤,那我们在nacos进⾏配置时,就要尽可能的取⼀些有含义的DataID,⽐如user.properties(表示⽤户应⽤的配置),order.properties(表示订单应⽤的配置),common.properties(表示多个应⽤共享的配置)。

    2. Group:在nacos中,⼀个Data ID,也就是⼀个或多个配置⽂件可以归类到同⼀个Group中,Group的作⽤就是⽤来区分Data ID相同的情况,不同的应⽤或中间件使⽤了相同的Data ID时就可以通过Group来进⾏区分,默认为DEFAULT_GROUP

    3. 配置内容:写具体的配置项,可以⽤properties的格式,也可以⽤yaml的格式

    ⽐如:

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    拉取配置

    在nacos中新建完配置后,那作为⼀个SpringBoot应⽤我们如何来获取配置呢?

    Java SDK

    ⾸先,我们可以直接使⽤Nacos提供的Java SDK来获取配置。

    ⾸先在项⽬中,添加如下依赖:

    然后可以使⽤如下代码来获取nacos中的配置:

    1. serverAddr:nacos的地址

    2. dataId:想要获取的配置⽂件的名字

    3. group:分组

    在Java SDK中,除开有获取配置的API,同时也提供了新增、删除、监听配置的API。

    我们可以通过如下代码来监听配置的变化:

    剩余API,⼤家可以直接参考官⽹:https://nacos.io/zh-cn/docs/sdk.html

    Spring在真正开发时,我们不太会通过Java SDK的⽅式来拉取nacos中的配置,那Nacos有没有针对Spring提供⼀些⽐较好⽤的注解或API呢?

    当然是有的

    增加⼀下依赖(不再需要nacos-client依赖了)

    我们可以按以下⽅式来配置Spring容器:

    很明显,通过@EnableNacosConfig注解定义了nacos的地址,通过@NacosPropertySource表示想要拉取的dataId,并且设置⾃动刷新(也就是配置发⽣了改变则会⾃动⽣效)。

    那如何使⽤某⼀个具体的配置项呢:

    可以通过@NacosValue来使⽤某⼀具体的配置项,那@Value⾏不⾏呢?也是可以的。

    之所以可以,原因是@EnableNacosConfig注解会负责把指定的dataId的配置项拉取到应⽤,并封装为PropertySource对象添加到Environment对象中,所以@Value也能读取到相应的配置项。

    SpringBoot

    如果我们使⽤SpringBoot,那则可以⽐Spring更加简单。

    首先引入依赖:

    然后在application.properties中配置nacos的地址:

    然后:

    依旧使⽤@NacosPropertySource来指定要拉取的配置dataId即可,就可以使⽤@Value或@NacosValue来获取某个具体的配置项了。

    那有同学可能会想到,我们可不可以直接在application.properties⽂件中来配置dataid呢?确实可以:

    不过要注意,⼀定得把nacos.config.bootstrap.enable设置为true,不然是不⾏的。

    SpringCloud

    如果我们是⽤SpringCloud,那将⽐SpringBoot更加简单。

    总结

    本期分享到这就先告一段落了,有对Spring Cloud的用法感兴趣的可阿里 P8 整理出 SQL 笔记:收获不止 SOL 优化抓住 SQL 的本质

    作者:java后端架构

    • 2022-10-29湖南

    • 本文字数:1023 字

      阅读完需:约 3 分钟

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    开头我先说:

    有人就有江湖,有江湖就有 IT 系统,有 IT 系统就有数据库,有数据库就有 SQL,SQL 应用可一字概括:“”广”。加之其简单易学,SQL 实现也可一字概括:“乐”。

    然而,SQL 虽然实现简单可乐,却极易引发性能问题,那时广大 SQL 使用人员可要“愁”就一个字,心碎无数次了。

    缘何有性能问题?原因也可以用一字一个也可以用一字概括:“量”。当系统数据量、并发访问量上去后,不良 SQL 就会拖垮整个系统,我们甚至找不出哪些 SQL 影响了系统。即便找到也不知如何动手优化。此时的心情也可以用一字概括:“懵”。

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    现在本书开始带你抛除烦恼,走进优化的可乐世界!

    首先教你 SQL 整体优化、快速优化实施、如何读懂执行计划、如何左右执行计划这四大必杀招。整这些干嘛呢?答案是,传授一个先整体后局部的宏观解决思路,走进“道”的世界。

    接下来带领大家飞翔在“术”的天空。教你体系结构、逻辑结构、表设计、索引设计、表连接这五大要领。这么多套路,这又是要干嘛?别急,这是教你如何解决问题,准确地说,是如何不改写即完成 SQL 优化。

    随后本书指引大家学会等价改写、过程包优化、高级 SQL、分析函数、需求优化这些相关的五大神功。有点头晕,能否少一点套路?淡定,这还是“术”的范畴,依然是教你如何解决问题,只不过这次是如何改写 SQL 完成优化。

    最后一个章节没套路了,其中跟随你多年的错误认识是否让你怀疑人生,其中让 SQL 跑得更慢的观点,是否让你三观尽毁?

    再多一点真诚吧,本书提供扫二维码辅助学习,是不是心被笔者给暖到了?读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受 SQL 优化的世界。一个字:“爽”!

    展全书学习之路线

    简而言之,小王的悲催故事千言万语化作如下一张学习路线图。限于篇幅,关于流程规划就不在书中详细说明了,我们会将其融进发现问题的整体优化模块中,并写成代码的形式。

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    目录内容

    第 1 章全局在胸一用工具对 SQL 整体优化

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 2 章风驰电掣一有效缩短 SQL 优化过程

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 3 章循规蹈矩一如何读懂 sQL 执行计划

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 4 章运筹帷幄一左右 SQL 执行计划妙招

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 5 章且慢,感受体系结构让 SQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 6 章且慢,体验逻辑结构让 SQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 7 章且慢,探寻表的设计让 sQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 6 章且慢,学习索引如何让 sQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 9 章且慢,弄清索引之阻碍让 sQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 10 章且慢,其他索引应用让 sQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 11 章且慢,表连接的秘密让 SQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 12 章动手,经典等价改写让 SQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 13 章动手,过程函数优化让 sQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 14 章动手,高级写法应用让 sQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 15 章动手,分析函数让 SQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 16 章动手,把握需求改写让 sQL 飞

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    第 17 章总结与延伸:从勿信讹传到洞若观火

    阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

    领取方式 添加 vx:15684955208 获取今天这份Nacos的入门学习笔记哦,希望可以对大家的知识认识度有所提升和帮助!

  • 0
  • 0
  • 0
  • 13
  • 请登录之后再进行评论

    登录
  • 任务
  • 实时动态
  • 发布
  • 单栏布局 侧栏位置: