Nacos的集群是需要在数据持久化的基础上来完成的,如果您还没有做数据的持久化过程,请您移驾~:
关于数据的持久化过程本篇说的很清楚了,如果已经完成了数据的持久化过程,接下来我们来看集群的过程
集群搭建
image从官方的文档我们可以得知,关于Nacos的集群架构如图:
从上图我们可以得知,ip1和ip2以及ip3是我服务的节点,而vip是作为一个路由转发的过程,在我搭建的过程中,分别给它们的ip为:
- vip:127.0.0.1:8080
- ip1:127.0.0.1:8841
- ip2:127.0.0.1:8842
- ip3:127.0.0.1:8843
微信截图_20191110105707.png接下来我们来看具体的实现过程,接着我们上节数据持久化的基础上来做,来到我们fork的项目根目录下的distribution下的target目录下会有如图的内容:
原本来说会看到archive-tmp和nacos-server-1.1.4.zip(这个是window下使用)以及nacos-server-1.1.4.tar.gz(这个是我们在Linux下可以使用的),这里解压nacos-server-1.1.4.zip然后copy三份命名为如图的01和02以及03.
- 接着进入nacos-server-1.1.4-01\nacos\conf目录下,会看到cluster.conf.example文件,copy它并重名为cluster.conf,打开它我们需要添加集群节点如下:
127.0.0.1:8841
127.0.0.1:8842
127.0.0.1:8843
- 接着在nacos-server-1.1.4-01\nacos\bin下我们要修改startup.sh的东西,让它通过DServer.port的启动的方式来加载我们配置的端口,需要在在该文件的JVM Configuration下添加如下代码:
JAVA_OPT="${JAVA_OPT} -Dserver.port=8841"
微信截图_20191110113356.png
8841.png 8842.png 8843.png到这里我们的端口为8841的节点已经配置完毕,至于8842和8843的配置都一样,接着直接双击bin目录下的startup.cmd来分别启动我们的三个节点访问nacos管理平台如图:
上面三个图是节点分别为8841 和8842 和8843的nacos管理台界面
接下来我们利用Nginx的反向代理来做路由的转发分别到我们的三个节点.
Nginx的安装和使用
- 首先安装Nginx,请您移驾到Nginx官网,我这下载的是最新的1.17.5版本,如图:
config.png这就算是基本上完成了,无需配置环境变量,我们来到根目录下:
需要进行nginx的代理配置,添加如下代码:
upstream nacos{
server 127.0.0.1:8841;
server 127.0.0.1:8842;
server 127.0.0.1:8843;
}
注意这段代码的位置为http{}里面
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /nacos/ {
#代理路径,负载均衡
proxy_pass http://nacos/nacos/;
}
login.png到这里nginx的代理配置完成,我们访问,http://127.0.0.1:8080/nacos/,会看到如下图:
节点.png到这里说明我们的nginx的代理配置是没有问题的,输入用户名和密码即可,如图:
有个疑问,我这里集群是三个节点,但是在节点列表中只能看到一个,每次刷新节点的ip都会变,却始终只有一个,这里确实不是很理解,如果有知道的猿友们可以告知一声.
不说这个了.我们可以通过接口来获取我们的配置,这里我们使用alibaba-nacos-config-load项目来测试,首先需要改一下配置,代码如下:
server.port=9005
spring.application.name=alibaba-nacos-config-load
spring.cloud.nacos.config.server-addr=127.0.0.1:8080
spring.cloud.nacos.config.file-extension=properties
id.png sss.png这里注册的端口不在是8848了,我们需要改成我们自己的路由端口8080即可,然后启动我们的服务,在控制台的日志中得到dataId如图:
999.png访问http://127.0.0.1:9005/test,页面会有如图的结果:
ok,到这里我们的Nacos的集群和测试完成了,那个疑问有知道的望告知....
网友评论