微服务系列导航
一、Nacos是什么?
1.1 关于发音
Nacos /nɑ:kəʊs/
Nacos命名的由来:前四个字母分别为 Naming 和 Configuration 的前两个字母,最后的 S 为Service。
1.2 介绍
从 2017 年底 Java 开发领域使用最广的 RPC 框架 Dubbo 开启重新更新维护之路开始,阿里巴巴为打造 Dubbo 微服务生态持续开源了 Sentinel,Nacos,Seata 等微服务中间件框架,并且推出了 Spring Cloud Alibaba 来提供微服务开发的一站式解决方案,阿里巴巴在 Java 社区持续活跃起来,也为 Java 微服务开发注入了新的活力。
本篇文章将重点学习微服务组件 Nacos 作为注册中心在MateCloud项目中的应用,Nacos 是阿里巴巴于 2018 年 7 月份新开源的项目。
1.3 版本演进
- 2018 年 Nacos 正式开源,推出0.×版本;
- 2019年推出1.0.0正式版本,Nacos稳定版正式问世,截止目前最新版本为1.4.2
- 2021年3月推出2.0.0正式版本,截止目前最新版本为2.0.1
1.x.x的版本与2.x.x的版本差异
2.x.x版本比1.x.x的版本号称快10倍以上,这里讲实战,不是科普,所以就简化而概之,Nacos 2.0.0以后采用了gRPC,且通过长连接,模块上采用Rsocket的推模型。
还有人问为什么不用eureka?
这里就不再解释了,nacos已经成为主流,看看这个比例
二、Nacos实战
2.1 基础知识
比如安装、docker上部署诸如此类,建议看官方文档,文档也是中文的,看着也不累。
https://nacos.io/zh-cn/docs/deployment.html
2.2 Nacos配置
2.2.1 项目中引入Nacos
<!-- Nacos服务发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- Nacos配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
这里看到这没有带version,那么项目开头,就得带上这个依赖
<!-- Nacos服务发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2021.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.2.2 nacos在matecloud的引入方式
看这两个地方:
-
https://gitee.com/matevip/matecloud/tree/dev/mate-core/mate-starter-dependencies
-
https://gitee.com/matevip/matecloud/blob/dev/mate-core/mate-starter-cloud/pom.xml
简单描述下:
- 统一依赖:mate-starter-dependencies
- nacos配置:mate-starter-cloud
- nacos参数配置:mate-core/pom.xml
这些仅是配置了naocs的连接方式,nacos安装完成后,还需要将相关的配置添加至nacos中。
2.2.3 手动添加Nacos配置
第一步,点击添加按钮 第二步:拷贝配置文件,其中文件名命名必须要带上扩展名,否则可能找不到。
按同样的方式,将mate-local.yaml文件也拷贝进去。
文件路径:https://gitee.com/matevip/matecloud/tree/dev/doc/nacos
至此Nacos配置完成。
三、结束语
虽然没有码多少文字,如果要全面了解Nacos还是要多看看官方文档,了解其实现机制。
项目 | GITHUB | 码云 |
---|---|---|
MateCloud后端源码 | https://github.com/matevip/matecloud | https://gitee.com/matevip/matecloud |
Artemis前端源码 | https://github.com/matevip/artemis | https://gitee.com/matevip/artemis |
最后送一句话给各位:加强学习,避免“迷、盲、乱”