当前位置 博文首页 > 大魔王先生:Nacos使用和注册部分源码介绍
Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
接下来主要介绍Nacos作为注册中心的使用和注册部分的源码解析。
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境这里就不介绍Maven和Java安装,大家自行安装一下。
//下载源码的地址
git clone https://github.com/alibaba/nacos.git
cd nacos/
//编译源码
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
//进入编译包
cd distribution/target/nacos-server-$version/nacos/bin
2.下载安装包的形式:
tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
sh shutdown.sh
在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
对于单机来说我们就是玩个demo是够的,但是对于生产来说我们就要考虑高可用的方案了:
对于集群部署的方式如果在虚拟机环境就采用Nagix负载3台虚拟机,对于K8S的环境通过Service负载3台Pod的形式搭建高可用环境,对于数据库选择来说最好采用主从结构,保证数据库的高可用。
整体的部署可能如下;
1.创建一个Spring Boot空应用
2.编辑pom.xml文件
<properties>
<springboot.vetsion>2.2.11.RELEASE</springboot.vetsion>
<spring-cloud-version>Hoxton.SR9</spring-cloud-version>
<spring-cloud-alibaba-version>2.2.3.RELEASE</spring-cloud-alibaba-version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.vetsion}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId