一文看懂微服务架构之注册中心Consul、Nacos( 三 )


四、Nacos以下介绍来源于官网:
Nacos 致力于帮助您发现、配置和管理微服务 。Nacos 提供了一组简单易用的特性集 , 帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理 。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台 。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施 。
总结就是 , Nacos提供三种功能:服务发现及管理、动态配置服务、动态DNS服务 。
我这里主要讲服务发现 , 也就是作为注册中心的功能 。
4.1 安装首先下载安装包 , 目前稳定版是1.3.1 , 推荐在linux或者mac系统上使用 , 我懒得开虚拟机 , 所以我就直接在win系统安装 。

一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 
我这里仅用于学习 , 使用单机模式 , 官网上介绍 , 双击startup.cmd文件启动即可 。
一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 
实际上 , 会报错 。
一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 
这个错误 , 我发现github上有人提出来 , 再后面加个参数就可以了 。
一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 
但是又有人说后面的版本已经优化了 , 没有这个错误 。反正如果遇到的话 , 就加个参数启动吧 。完整命令是startup.cmd -m standalone 。
如果不想在启动命令后面加参数 , 可以配置MySQL(版本要求:5.6.5+) , 初始化mysql数据库 , 数据库初始化文件:nacos-mysql.sql 。
一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 
修改conf/application.properties文件配置:
db.num=1db.url.0=jdbc:mysql://数据库地址:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTCdb.user=账号db.password=密码启动成功 , 命令行窗口可以看到以下提示:
一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 
启动成功后 , 可以在浏览器打开http://localhost:8848/nacos/ , 进入管理界面 。账号密码默认都是nacos 。
一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 

一文看懂微服务架构之注册中心Consul、Nacos

文章插图
 
4.2 服务注册接下来还是一样 , 创建两个服务注册到nacos , 为了跟前面的区分 , 项目名后缀加上"nacos" 。首先添加maven配置 , 如下:
<parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>2.0.5.RELEASE</version>    <relativePath/> <!-- lookup parent from repository --></parent><dependencyManagement>    <dependencies>  <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-dependencies</artifactId>            <version>Finchley.SR1</version>            <type>pom</type>            <scope>import</scope>     </dependency>     <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-alibaba-dependencies</artifactId>            <version>0.2.2.RELEASE</version>            <type>pom</type>            <scope>import</scope>        </dependency>    </dependencies></dependencyManagement><dependencies>    <dependency><!-- SpringWeb依赖 -->        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency><!-- SpringCloud nacos服务发现的依赖 -->        <groupId>org.springframework.cloud</groupId>        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>    </dependency></dependencies>


推荐阅读