43

阿里Nacos初体验

 4 years ago
source link: https://www.tuicool.com/articles/Yja2Q3F
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Nacos 从开源到现在已经18个releases了,更新很快,社区也很活跃,光钉钉群的人数那也是好多,每次点个查看全部成员的按钮,我的钉钉就要卡死,也有可能我没更新最新的版本。

前面写了一段时间的Sentinel,最近还是打算学习下Nacos,目前不用也没关系,关键是先要体验下,知道这个框架的优点,对技术选型来说很重要。

Github地址:https://github.com/alibaba/nacos

记得Star下哦。。。

其实Nacos的官方文档已经很详细了,而且是中文版,对国内的开发来说简直是福音。这其实就牵扯到另一个问题,就是既然这么详细了,还有必要写这些文章吗?

这个嘛主要是自己学习过程中的积累,也许我在这个过程中会遇到一些问题,也许这些问题对某些刚接触的人来说有用,这就够了。除了官方文档之外其实还有很多大牛也写了很多文章,咱们应该多向这些乐于分享的人学习。

详细介绍

Nacos主要用于 服务发现和服务健康监测,动态配置服务,动态 DNS 服务等场景。

下图是官方提供的,通过下图可以全面的了解Nacos。

j2Mfqaa.jpg!web

特性大图:要从功能特性,非功能特性,全面介绍我们要解的问题域的特性诉求。

架构大图:通过清晰架构,让您快速进入 Nacos 世界 业务大图:利用当前特性可以支持的业务场景,及其最佳实践 生态大图:系统梳理 Nacos 和主流技术生态的关系 优势大图:展示 Nacos 核心竞争力 战略大图:要从战略到战术层面讲 Nacos 的宏观优势

快速体验

很多框架为了让使用者快速体验,都会提供一个快速启动包,简单方便。

我们可以在https://github.com/alibaba/nacos/releases页面下载你需要的版本包:

7nuUZju.png!web

Windows上下载zip包就可以了,linux上下载tar包。以Windows为例,解压之后进入bin目录,直接运行startup.cmd脚本即可启动Nacos服务。Linux/Unix/Mac上执行 sh startup.sh -m standalone 启动服务,standalone代表着单机模式运行,非集群模式。

VNRJvmy.png!web

UzyYv2V.jpg!web

默认的账号密码是 nacos/nacos,登陆之后可以看到主页面。

BBbqAzE.jpg!web

Spring Boot 集成配置管理

由于是第一篇文章,咱们先从配置这块学起,首先体验下配置在Spring Boot中如何集成,详细的后面再一一进行介绍。

加入依赖:

注意:版本 0.2.x.RELEASE对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。

通过下面的地址查看版本列表:

https://mvnrepository.com/artifact/com.alibaba.boot/nacos-config-spring-boot-starter

y26NZnE.jpg!web

在Nacos后台新建一个配置: qANrMfb.jpg!web

Data ID:Nacos 中的某个配置集的 ID。

配置集 ID 是组织划分配置的维度之一。

Data ID 通常用于组织划分系统的配置集。

一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。

Data ID 通常采用类 Java 包(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制。

在启动类上指定Data ID:

测试代码:

使用@NacosValue来注入配置,autoRefreshed默认为false, 在后台改了是不会刷新值的,需要设置成true才可以刷新。

第一篇文章就到这里,更多特性,我们后面一一讲解。

ueiyA3f.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK