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

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

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

记得Star下哦。。。

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

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

详细介绍

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

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

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

架构大图:通过清晰架构,让您快速进入 Nacos 世界

业务大图:利用当前特性可以支持的业务场景,及其最佳实践

生态大图:系统梳理 Nacos 和主流技术生态的关系

优势大图:展示 Nacos 核心竞争力

战略大图:要从战略到战术层面讲 Nacos 的宏观优势

快速体验

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

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

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

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

Spring Boot 集成配置管理

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

加入依赖:

<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>

注意:版本 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

在Nacos后台新建一个配置:

Data ID:Nacos 中的某个配置集的 ID。配置集 ID 是组织划分配置的维度之一。Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。Data ID 通常采用类 Java 包(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制。

在启动类上指定Data ID:

@NacosPropertySource(dataId = "nacos-springboot", autoRefreshed = true)
@SpringBootApplication
public class NacosSpringBootApp {
public static void main(String[] args) {
SpringApplication.run(NacosSpringBootApp.class, args);
}
}

测试代码:

@RestController
public class ConfigController { @NacosValue(value="${name}", autoRefreshed=true)
private String name; @GetMapping("/name")
public String getName() {
return this.name;
}
}

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

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

最新文章

  1. 【HOW】如何允许编辑用户配置文件属性
  2. KVO的底层实现
  3. PL/SQL Developer 11 64bit 安装和配置
  4. sqlplus使用(二)
  5. C语言 ---- 数组 iOS学习-----细碎知识点总结
  6. 序列化、反序列化(实体类或要序列化的对象类必须实现Serializable接口)
  7. LintCode &quot;Submatrix Sum&quot;
  8. SerialPort基本小例
  9. PHP PDO 简单登陆操作
  10. VBA 开发学习--基础语法3
  11. Nagios+pnp4nagios+rrdtool 安装配置为nagios添加自定义插件(三)
  12. ArcGIS For Flex报错
  13. JAVA 发送邮件代码---发送文本内容: 内容使用\n 进行换行
  14. nsq源码阅读笔记之nsqd(二)——Topic
  15. aliyun centos7 挂载云盘
  16. python 可迭代对象
  17. 10.9-uC/OS-III任务管理
  18. mysql 编码和汉字存储占用字节问题的探索
  19. RMAN.DBMS_RCVCAT 版本错误处理
  20. 将jpg压缩成webp格式的图片

热门文章

  1. SQLyog连接MySQL8.0报2058错误的解决方案
  2. 向QGIS项目组提交了一份建议
  3. js中关于带数字类型参数传参丢失首位数字0问题
  4. 用js传递当前页面的url,丢失了&amp;后面的参数 解决办法
  5. Linux系统iptables与firewalld防火墙
  6. 运行java可执行jar包
  7. 网易发起“疾风”智造IoT联盟,深化“互联网+先进制造业”发展
  8. PHP收集一些常用函数与好用的自定义函数
  9. PHPStorm 配置本地 WebServer 运行 PHP
  10. Linux gzip: stdin: not in gzip format