共计 3265 个字符,预计需要花费 9 分钟才能阅读完成。
本系列是 Spring Cloud 微服务实战系列教程。之前在《Spring Cloud Eureka 入门(一)服务注册核心详解》聊过 Spring Cloud Eureka。那明天聊聊阿里开源的 Nacos ~
一、Nacos 是什么?
先理解下 Spring Cloud Eureka 是基于 Netflix Eureka(Netflix 是 Java 实现的开源软件)。服务治理(Eureka)包含服务注册、服务发现和服务检测监控等。
那 Nacos 致力于发现、配置和治理微服务。Nacos 提供了一组简略易用的个性集,帮忙您疾速实现动静服务发现、服务配置、服务元数据及流量治理。
简而言之,Nacos 蕴含了微服务的配置管理 + 服务的注册、发现等监控。微服务也包含了 Spring Cloud 的微服务实现。
Nacos 其个性重点蕴含了以下:
- 服务发现和服务衰弱监测
- 动静配置服务
- 动静 DNS 服务
- 服务及其元数据管理
- 等等
官网图如下:
二、如何本地部署和应用 Nacos
能够在 github 上 Nacos Release 版本列表中下载最新的稳固版本。地址:
https://github.com/alibaba/nacos/releases
以后稳固版本:2.0.3
2.1 环境筹备
Nacos 依赖 Java 环境,所以如果从源码构建并运行 Nacos 须要配置如下:
- JDK 1.8+
- Maven 3.2+
- 64 bit OS 反对 Linux/Unix/Mac/Windows,举荐选用 Linux/Unix/Mac
如果本机部署的话,不须要从源码构建,则只须要下载编译后的压缩包和 JDK 1.8+ 环境即可
2.2 下载编译后的压缩包
在 https://github.com/alibaba/na… 地址中,下载 nacos-server-2.0.3.zip 压缩包。而后执行一下解压命令:
unzip nacos-server-2.0.3.zip
这样目录中会呈现 Nacos 的我的项目目录
2.3 启动前配置
目录构造如下:
nacos % ls -l
total 48
-rw-r--r--@ 1 qq staff 16583 3 18 2021 LICENSE
-rw-r--r--@ 1 qq staff 1305 5 14 2020 NOTICE
drwxr-xr-x@ 8 qq staff 256 12 3 14:25 bin
drwxr-xr-x@ 9 qq staff 288 7 27 14:18 conf
drwxr-xr-x 6 qq staff 192 12 3 14:43 data
drwxr-xr-x 35 qq staff 1120 12 3 14:25 logs
drwxr-xr-x@ 3 qq staff 96 7 28 19:28 target
进入 conf 目录,目录构造如下:
conf % ls -l
total 176
-rw-r--r--@ 1 qq staff 1224 6 18 10:39 1.4.0-ipv6_support-update.sql
-rw-r--r--@ 1 qq staff 9752 12 3 14:41 application.properties
-rw-r--r--@ 1 qq staff 9506 7 27 14:18 application.properties.example
-rw-r--r--@ 1 qq staff 670 3 18 2021 cluster.conf.example
-rw-r--r--@ 1 qq staff 31156 7 15 19:19 nacos-logback.xml
-rw-r--r--@ 1 qq staff 10660 6 18 10:39 nacos-mysql.sql
-rw-r--r--@ 1 qq staff 8795 6 18 10:39 schema.sql
这次部署,目录中其中两个文件须要通晓:
- application.properties 配置文件
- nacos-mysql.sql 数据库 MySQL 库表信息文件
1/ 创立数据库 nacos 并执行 nacos-mysql.sql
本次测试用 MySQL 作为数据存储,则须要在 MySQL 中新建数据库 nacos,命令如下:
CREATE DATABASE nacos
而后再数据库中执行建表和插入默认数据操作,具体看 nacos-mysql.sql 文件。
2/ 批改 application.properties 配置文件
而后关上 application.properties 配置文件,对应的中央改成如下:
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=admin
db.password.0=123456
2.4 运行并应用 Nacos
以 Mac 本机为例,启动上面命令:
cd nacos/bin
sh startup.sh -m standalone
standalone 代表着单机模式运行,非集群模式
控制台能够看到以下信息:
nacos is starting with standalone
nacos is starting,you can check the /Users/qq/project/nacos/logs/start.out
那如何看 Nacos 日志,从下面可见日志输入在 nacos/logs 目录,查看 start.out 日志文件执行如下命令:
tail -200f /Users/qq/project/nacos/logs/start.out
控制台能够看到以下信息:
,--.
,--.'|
,--,: : | Nacos 2.0.3
,`--.'`|' : ,---. Running in stand alone mode, All function modules
| : : | | ','\ .--.--. Port: 8848
: | \ | : ,--.--. ,---. / / | / / ' Pid: 2452
| : ''; | / \ / \. ; ,. :| : /`./ Console: http://xxxx:8848/nacos/index.html' ';. ;.--. .-. | / /'' | |: :| : ;_
| | | \ | \__\/: . .. '/' | .; : \ \ `. https://nacos.io
': | ; .' ,".--.; |' ; :__| : | `----. \
| | '`--' / / ,. |'|'.'|\ \ / / /`--' /
': | ; : .' \ : : `----''--'. /
; |.'| , .-./\ \ / `--'---''---' `--`---'`----'
...
2021-12-04 15:25:18,201 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
这阐明部署胜利, 电脑运行 Nacos 很简略,间接关上浏览器,输出地址:
http://localhost:8848/nacos/index.html
账号密码默认都为 nacos,如图
如何敞开呢?
敞开命令:
sh shutdown.sh
控制台会响应:
The nacosServer(4317) is running...
Send shutdown request to nacosServer(4317) OK
三、Nacos 小结
本文次要形容 Nacos 和 Nacos 的应用场景,而后本地部署 Nacos,达到可用状态。如果须要服务器部署,切记不能单机模式。Nacos 次要是微服务的配置核心和服务注册核心。
后续系列文章,会联合 Spring Cloud 微服务实际 Nacos 细节。
作者:泥瓦匠(公号「程序员泥瓦匠」)出处:https://www.bysocket.com 欢送转载,也请保留这段申明。谢谢!