搭建nacos集群,并通过nginx实现负载均衡

nacos、eureka、consul、zookeeper等都是常用的微服务注册中心,这篇文章详细介绍一下在Ubuntu操作系统上搭建一个nacos的集群,以及通过nginx的反向代理功能实现nacos的负载均衡。

目录

一、安装nacos

1、安装nacos

2、修改nacos配置文件

3、创建nacos的数据源

二、搭建nacos集群

1、修改nacos的集群配置文件

2、创建nacos集群节点

3、安装nginx服务器

4、通过nginx的反向代理功能实现nacos的负载均衡


在此之前,需要一台安装了Ubuntu系统的服务器或者虚拟机。

一、安装nacos

1、安装nacos

把下载下来的nacos压缩包上传到Ubuntu的一个目录下,这篇文章选择在/usr/local下创建一个nacos目录来保存安装的多个nacos服务器。

上传压缩包后解压:

tar -zxvf nacos-server-1.4.2.tar.gz

2、修改nacos配置文件

上面已经完成了nacos的安装,接下来修改一下nacos的配置文件,由于nacos默认把数据保存到derby数据库(这是一个内存数据库),为了保证数据的一致性,需要修改一下,把配置信息保存到mysql。

修改nacos安装目录下的conf/application.properties配置文件

修改nacos数据源配置,也就是红框内的配置

修改之后的配置内容(先取消注释,删除前面的# ,然后修改配置)

3、创建nacos的数据源

第二步已经修改了nacos的数据源配置,接下来需要在服务器的mysql数据库上创建一个nacos数据库

然后,在nacos数据库上执行下面的nacos-mysql.sql

执行完成后,数据库下面有以下几张表:

二、搭建nacos集群

1、修改nacos的集群配置文件

首先,复制一份cluster.conf.example并命名为cluster.conf

修改配置文件的内容,把所有nacos服务器的地址都编辑上去。

192.168.60.128:8858
192.168.60.128:8868
192.168.60.128:8878

2、创建nacos集群节点

把nacos的目录名修改为nacos8858,作为集群的一个节点。

重复之前的解压操作,然后重命名。

创建节点2

创建节点3

然后把nacos8858的conf/application.properties以及cluster.conf复制一份,覆盖掉nacos8868和nacos8878两个节点原来的配置文件。

最后一步:修改三个节点的端口号,修改conf/application.properties

最后,依次启动三个节点(注意:这里其实只需要启动任意节点即可,其余节点会一起启动)

启动节点1

访问一下三个节点(用户名/密码初始都是nacos)

访问节点1

在节点1创建一个命名空间test

访问节点2

访问节点3,在集群管理中可以看到三个节点都在线

至此,nacos集群搭建完成~

3、安装nginx服务器

可以参考博主的另外一篇文章完成nginx的安装:

ubuntu上安装nginxicon-default.png?t=N7T8https://blog.csdn.net/heyl163_/article/details/132549969

4、通过nginx的反向代理功能实现nacos的负载均衡

修改niginx的配置文件nginx.conf

upstream nacosserver {server 192.168.60.128:8858;server 192.168.60.128:8868;server 192.168.60.128:8878;
}server {listen       8848;server_name  localhost;location /nacos/ {proxy_pass http://nacosserver/nacos/;}
}

通过nginx访问nacos

好了,文章就分享到这里了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/527634.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C/C++]string类常用接口介绍及模拟实现string类

一:Cstring类的由来 在C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用…

注意!!墙裂推荐几个好用的实用小工具!一定会用到的!

前言 在开发的世界里,面对各种挑战和问题时,拥有一套合适的工具箱至关重要。这不仅能提升我们的工作效率,还能让复杂的任务变得简单,甚至在解决棘手问题的同时,还能让我们的心情略微舒畅。众所周知,有用的…

2024年k8s最新版本使用教程

2024年k8s最新版本使用教程 3. YAML语言入门3.1 基本语法规则3.2 支持的数据结构3.3 其他语法 4 资源管理4.1 k8s资源查询4.2 资源操作命令4.3 资源操作方式4.3.1 命令行方式4.3.2 YAML文件方式 5 Namespace5.1 查看命名空间5.2 创建命名空间5.3 删除命名空间5.4 命名空间资源限…

ZigBee技术与实践教程(无线传感网技术第三天)

1.MAC层规范 在IEEE802系列标准中,OSI参考模型的数据链路层进一步划分为逻辑链路控制子层和介子访问子层两个子层。MAC子层使用物理层提供的服务实现设备之间的数据帧传输,而LLC在MAC 层的基础上,在设备之间提供面向连接和非连接的服务&…

软考高级:电子商务角色和类型概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

力扣图论篇

以下思路来自代码随想录以及官方题解。 文章目录 797.所有可能的路径200.岛屿数量130.被围绕的区域1020.飞地的数量 797.所有可能的路径 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不…

Android Studio 检测不到 IDE 更新

点击 Configure updates...,不知道什么时候把 Check for IDE updates 去勾了,一年没有检测到更新! 只能重新安装,掉坑里了!

最顶级的Unity团队都在使用的技巧!!!

作为该系列的第二篇文章,今天将给大家分享一下,Unity最资深的团队是如何设置物理、UI和音频的。希望可以帮助大家最大限度的使用Unity引擎。 第一篇给大家介绍了如何提高资源、项目配置和图形的性能,感兴趣的朋友千万不要错过了。 文章链接…

VScode---php环境搭建

文章目录 1.下载php Dehug;php server2.下载php环境3.配置环境变量5.配置php.ini文件6.设置vscode6.测试遇到的问题 1.下载php Dehug;php server 2.下载php环境 下载地址:https://www.php.net/downloads.php 3.配置环境变量 C:\Users\hacker>php -v PHP 8.3.3 (…

【Web开发】深度学习HTML(超详细,一篇就够了)

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Web开发】深度学习html(超详细,一篇就够了) 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 HTML1. HTML基础1.1 什么是HTML1.2 认识HTML标签1.3 HTML文件基本…

网络学习:数据链路层Ethernet II协议详解

前言: Ethernet II协议位于数据链路层,其包含MAC地址、数据类型和上层的数据报。 一、MAC地址格式 组织唯一标识符(OUI)24bit厂商分配(EUI)I/GG/L22bit24bit 组织唯一标识符(OUI): …

最新基于R语言lavaan结构方程模型(SEM)技术应用

结构方程模型(Sructural Equation Modeling,SEM)是分析系统内变量间的相互关系的利器,可通过图形化方式清晰展示系统中多变量因果关系网,具有强大的数据分析功能和广泛的适用性,是近年来生态、进化、环境、…