SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

场景

SpringCloudAlibaba中使用Nacos实现服务注册与发现(从实例入手):

SpringCloudAlibaba中使用Nacos实现服务注册与发现(从实例入手)_霸道流氓气质的博客-CSDN博客

SpringCloudAlibaba中使用Nacos实现配置中心和配置动态刷新:

SpringCloudAlibaba中使用Nacos实现配置中心和配置动态刷新_霸道流氓气质的博客-CSDN博客

在上面实现的Nacos作为服务注册中心与配置中心时,Nacos都是单机模式。

如果部署Nacos的服务器宕机,则Nacos不可用。

所以需要将Nacos以集群模式部署,比如将三个Naocs部署在三台服务器上,

当其中一台宕机时,不影响Nacos的使用。

Nacos之间如何共享配置文件?

之前单机模式启动时,Nacos的配置文件都是持久化在内置的数据库中,如果搭建集群模式

需要使所有的Nacos都连接同一个外置数据库,实现共享同一套配置文件。

Nacos的持久化可以参考如下

Nacos简介、下载与配置持久化到Mysql:

Nacos简介、下载与配置持久化到Mysql_霸道流氓气质的博客-CSDN博客

官方集群部署说明文档:

集群部署说明

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、首先搭建一个Nacos的持久化配置

下载Naocs之后,找到conf下的nacos-mysql.sql,然后在Mysql中新建数据库nacos_config,并执行该sql

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

修改conf下application.properties文件,修改为上面的mysql连接,使nacos的配置持久化到外置数据库

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

2、按照官方文档说明,修改conf下集群配置文件

nacos官方提供了cluster.conf.example一个示例配置文件,将其复制并修改为cluster.conf

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

编辑cluster.conf集群配置文件,在这里将集群所有的nacos的ip和端口号进行配置

这里计划使用三个Nacos搭建集群,因为这三个Nacos都部署在本机同一台电脑上,所以通过改端口号

模拟多台主机,实际情况下,这里应该是三个不同的ip,nacos部署在三台服务器上。

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

注意这里不能使用127.0.0.1和localhost了,需要使用ip。这里是我本地的ip。

3、确认下bin下面的startup.cmd这个启动文件中模式为集群模式

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

4、将上面修改的nacos,整个目录依次再复制两份,然后修改这三个nacos的端口分别为8848、8849、8850

在conf下application.properties中修改。

然后分别点击这三个nacso的bin下的startup.cmd启动。

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

启动成功之后分别访问

http://localhost:8848/nacos

http://localhost:8849/nacos

http://localhost:8850/nacos

进行验证,确定没问题

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

5、上面搭建了三个Nacos,那么在进行服务注册和配置中心时应该填哪个地址才能实现

集群的效果,所以这时候需要用到nginx来做集群的反向代理。

下载nginx,并修改其配置文件,在conf下nginx.conf,主要修改以下两个地方

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

一个是集群地址配置,放在gzip的正下方

 upstream nacos-cluster {
  server 10.229.36.140:8848;
  server 10.229.36.140:8849;
  server 10.229.36.140:8850;
 }

一个是代理的配置

    server {
        listen       1234;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://nacos-cluster;
        }

这里的1234是自己指定的监听的端口。这离nacos-cluster要保持前后一直。

启动nginx,访问

http://localhost:1234/nacos

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

登录进去之后,可以在集群管理中看到所有节点

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

6、修改服务注册地址的配置文件

此时就可以修改服务提供者的配置文件中nacos地址为nginx代理的地址了

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

启动服务提供者之后仍然能注册成功

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

同理服务配置中心的地址也改为该地址

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

7、此时三台nacos中只要有一台可用,则Nacos集群可用,除非所有的Nacso全部宕机

SpringCloudAlibaba+Nacos集群配置+Nginx实现服务注册与配置中心

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/135936.html

(0)

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!