Nacos介绍
服务发现产品对比
目前市面上用的比较多的服务发现中心有:Nacos、Eureka、Consul和Zookeeper。
从上面对比可以了解到 ,Nacos作为服务发现中心 ,具备更多的功能支持项 ,且从长远来看Nacos在以后的版本会 支持SpringCLoud+Kubernetes的组合 ,填补 2 者的鸿沟 ,在两套体系下可以采用同一套服务发现和配置管理的解 决方案 ,这将大大的简化使用和维护的成本。 另外 ,Nacos 计划实现 Service Mesh ,也是未来微服务发展的趋势。
Nacos定义
Nacos是阿里的一个开源产品 ,它是针对微服务架构中的服务发现、 配置管理、 服务治理的综合型解决方案。
官方介绍是这样的 :
Nacos 致力于帮助您发现、 配置和管理微服务。 Nacos 提供了一组简单易用的特性集 ,帮助您实现动态服务 发现、 服务配置管理、服务及流量管理。 Nacos 帮助您更敏捷和容易地构建、 交付和管理微服务平台。
Nacos是构建以“服务”为中心的现代应用架构的服务基础设施。
官网地址 :https://nacos.io
Nacos特性
Nacos主要提供以下四大功能 :
- 服务发现与服务健康检查
Nacos使服务更容易注册 ,并通过DNS或HTTP接口发现其他服务 ,Nacos还提供服务的实时健康检查 ,以防 止向不健康的主机或服务实例发送请求。
- 动态配置管理
动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。 Nacos消除了在更新配置时重新 部署应用程序 ,这使配置的更改更加高效和灵活。
- 动态DNS服务
Nacos提供基于DNS 协议的服务发现能力 ,旨在支持异构语言的服务发现 ,支持将注册在Nacos上的服务以 域名的方式暴露端点 ,让三方应用方便的查阅及发现。
- 服务和元数据管理
Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据 ,包括管理服务的描述、 生命周 期、 服务的静态依赖分析、 服务的健康状态、 服务的流量管理、 路由及安全策略。
这里1、 3、 4说明了服务发现的功能特性。
安装Nacos Server
环境准备
Nacos 依赖Java环境来运行。 如果您是从代码开始构建并运行Nacos ,还需要为此配置Maven环境 ,请确保是在 以下版本环境中安装使用:
\1. 64 bit OS ,支持 Linux/Unix/Mac/Windows ,推荐选用 Linux/Unix/Mac。
\2. 64 bitJDK 1.8+ ;下载 & 配置。
\3. Maven 3.2.x+ ;下载 & 配置。
下载源码或者安装包
从 Github上下载源码方式
git clone https://github.com/alibaba/nacos.git cd nacos/ mvn ‐Prelease ‐nacos clean install ‐U ls ‐al distribution/target/ // change the $version to your actual path cd distribution/target/nacos ‐server ‐$version/nacos/bin
下载编译后压缩包方式
您可以从最新稳定版本 下载 包 ,本教程使用nacos-server-1.1.3版本。
下载地址 :https://github.com/alibaba/nacos/releases
网页拉到最下面:
下载后解压 :
unzip nacos ‐server ‐$version.zip 或者 tar ‐xvf nacos ‐server ‐$version.tar.gz cd nacos/bin
启动服务器
nacos的默认端口是8848 ,需要保证8848默认端口没有被其他进程占用。
进入安装程序的bin目录 :
Linux/Unix/Mac启动方式:
启动命令(standalone代表着单机模式运行 ,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统 ,或者运行脚本报错提示[[符号找不到 ,可尝试如下运行 :
bash startup.sh -m standalone
Windows启动方式:
启动命令 :
注意:路径要全英文,我试了中文启动不成功
cmd startup.cmd
或者双击startup.cmd运行文件。
运行成功界面:
启动成功 ,可通过浏览器访问http://127.0.0.1:8848/nacos ,打开如下nacos控制台登录页面 :
使用默认用户名 :nacos ,默认密码 :nacos登录即可打开主页面。
外部mysql数据库支持
单机模式时nacos默认使用嵌入式数据库实现数据的存储 ,若想使用外部mysql存储nacos数据 ,需要进行以下步 骤 :
1.安装数据库 ,版本要求 :5.6.5+ ,mysql 8 以下
2.初始化mysql数据库 ,新建数据库nacos_config ,数据库初始化文件 :
${nacoshome}/conf/nacos-mysql.sql(这个文件在解压文件conf目录下)
3.修改${nacoshome}/conf/application.properties文件 ,增加支持mysql数据源配置( 目前只支持mysql ),添加mysql数据源的url、 用户名和密码。
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=yourpassword