Nacos 服务介绍与安装

Nacos介绍

服务发现产品对比

目前市面上用的比较多的服务发现中心有:Nacos、Eureka、Consul和Zookeeper。

对比项目 Nacos Eureka Consul Zookeeper
一致性协议 支持AP和CP模型 AP模型 CP模型 CP模型
健康检查 TCP/HTTP/MYSQL/Client Beat Client Beat TCP/HTTP/gRPC/Cmd Keep Alive
负载均衡策略 权重/metadata/Selector Ribbon Fabio -
雪崩保护
自动注销实例 支持 支持 不支持 支持
访问协议 HTTP/DNS HTTP HTTP/DNS TCP
监听支持 支持 支持 支持 支持
多数据中心 支持 支持 支持 不支持
跨注册中心同步 支持 不支持 支持 不支持
SpringCloud集成 支持 支持 支持 不支持
Dubbo集成 支持 不支持 不支持 支持
k8s集成 支持 不支持 支持 不支持

从上面对比可以了解到 ,Nacos作为服务发现中心 ,具备更多的功能支持项 ,且从长远来看Nacos在以后的版本会 支持SpringCLoud+Kubernetes的组合 ,填补 2 者的鸿沟 ,在两套体系下可以采用同一套服务发现和配置管理的解 决方案 ,这将大大的简化使用和维护的成本。 另外 ,Nacos 计划实现 Service Mesh ,也是未来微服务发展的趋势。

Nacos定义

在这里插入图片描述

Nacos是阿里的一个开源产品 ,它是针对微服务架构中的服务发现、 配置管理、 服务治理的综合型解决方案。

官方介绍是这样的 :

Nacos 致力于帮助您发现、 配置和管理微服务。 Nacos 提供了一组简单易用的特性集 ,帮助您实现动态服务 发现、 服务配置管理、服务及流量管理。 Nacos 帮助您更敏捷和容易地构建、 交付和管理微服务平台。
Nacos是构建以“服务”为中心的现代应用架构的服务基础设施。

官网地址 :https://nacos.io

Nacos特性

Nacos主要提供以下四大功能 :

  1. 服务发现与服务健康检查

Nacos使服务更容易注册 ,并通过DNS或HTTP接口发现其他服务 ,Nacos还提供服务的实时健康检查 ,以防 止向不健康的主机或服务实例发送请求。

  1. 动态配置管理

动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。 Nacos消除了在更新配置时重新 部署应用程序 ,这使配置的更改更加高效和灵活。

  1. 动态DNS服务

Nacos提供基于DNS 协议的服务发现能力 ,旨在支持异构语言的服务发现 ,支持将注册在Nacos上的服务以 域名的方式暴露端点 ,让三方应用方便的查阅及发现。

  1. 服务和元数据管理

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45525272/article/details/123564008