当前位置:网站首页>Detailed explanation of the construction process of Nacos cluster
Detailed explanation of the construction process of Nacos cluster
2022-08-05 06:44:00 【User Nickname 23】
I. Nacos cluster deployment architecture
In the actual development process, if Nacos is used, in order to ensure high availability, we generally deploy it in a cluster.Nacos stipulates that the number of Nacos nodes in the cluster must be greater than or equal to 3; at the same time, the data of Nacos in stand-alone mode is stored in its embedded database by default, which is inconvenient to observe the basic situation of data storage.Moreover, if multiple Nacos nodes with default configuration are started in the cluster, there is a consistency problem in data storage.In order to solve this problem, Nacos adopts a centralized storage method to support clustered deployment, and currently only supports MySQL storage; in addition, we also need to use Nginx to achieve load balancing.The deployment architecture diagram of this process is shown below:

Second, switch the default database of Nacos
(1) Before starting to build the cluster, we need to switch the default database derby of Nacos to mysql.
First start the local mysql, create the nacos_config database, and execute the nacos-mysql.sql script under the nacos_config database, as shown in the following figure: 
After successful execution, view the created data table:
(2) My Nacos is directly decompressed under the /opt path, find and modify the application.properties file under the /opt/nacos/conf path, and paste the following content directly to the end of application.properties (note thatdb.user and db.password should be modified to their own mysql username and password):
spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=truedb.user=rootdb.password=123456Third, modify the cluster configuration of Nacos
(1) Similarly, in the /opt/nacos/conf directory, find and modify the cluster.conf file, as shown below:

(2) In the /opt/nacos/bin directory, find and modify the startup.sh file. The places to be modified are shown in the following figure:
① Before modification: 
After modification:
② Before modification:
After modification:

After the modification is completed, you can use the following command in the /opt/nacos/bin path to start the nacos node corresponding to the port number:

Fourth, configure Nginx to achieve load balancing
(1) Find and modify the nginx.conf file under the /usr/local/nginx/conf path. The places that need to be modified are shown in the following figure (for the convenience of demonstration, the nginx cluster will not be built here, only theAn nginx is used as an example to illustrate):

V. Test effect
(1) Start nginx first, and then start the nacos nodes of 3333, 4444, and 5555 in turn
(2) Close the linux local firewall or open the corresponding port number that needs to be accessed on linux
(3) For example, my linux ip is 192.168.1.103, so I can successfully access the nacos interface by accessing 192.168.1.103:1111/nacos on Windows (here is 1111 because it was just exposed in the nginx configuration fileThe port number is 1111).
(4) Create new configuration information in the nacos interface:


(5) You can view the newly created configuration information in mysql of linux:

(6) So far, the Nacos cluster + MySQL centralized storage + Nginx load balancing has been successfully built.
Let me introduce myself first. The editor graduated from Shanghai Jiaotong University in 2013. I worked in a small company and went to big factories such as Huawei and OPPO. I joined Alibaba in 2018, until now.I know that most junior and intermediate java engineers want to upgrade their skills, they often need to explore their own growth or sign up to study, but for training institutions, the tuition fee is nearly 10,000 yuan, which is really stressful.Self-learning that is not systematic is very inefficient and lengthy, and it is easy to hit the ceiling and the technology stops.Therefore, I collected a "full set of learning materials for java development" for everyone. The original intention is also very simple. I hope to help friends who want to learn by themselves but don't know where to start, and at the same time reduce everyone's burden.Add the business card below to get a full set of learning materials
边栏推荐
- LinkSLA insists that users come first and creates a sustainable operation and maintenance service plan
- Mina disconnects and reconnects
- 无法导入torchvision.io.read_image
- selenium学习
- input详解之文件上传
- LaTeX image captioning text column automatic line wrapping
- Programmers should understand I/O this way
- VSCode编写OpenCV
- Introduction to Network Layer Protocols
- 通过反射获取Class对象的四种方式
猜你喜欢

Writing OpenCV in VSCode

Teach you simple steps to achieve industrial raspberries pie properly installed RS232 USB drive

VRRP overview and experiment

Configuration of routers and static routes

深夜小酌,50道经典SQL题,真香~

LaTeX image captioning text column automatic line wrapping

Cloud Computing Basics - Study Notes

Mina的长连接和短连接

Met with the browser page

Introduction to Network Layer Protocols
随机推荐
The use of three parameters of ref, out, and Params in Unity3D
flink cdc 目前支持Gauss数据库源吗
Problems encountered in installing Yolo3 target detection module in Autoware
Autoware--Beike Tianhui rfans lidar uses the camera & lidar joint calibration file to verify the fusion effect of point cloud images
el-progress实现进度条颜色不同
el-autocomplete使用
Teach you simple steps to achieve industrial raspberries pie properly installed RS232 USB drive
带你深入了解Cookie
[问题已处理]-虚拟机报错contains a file system with errors check forced
Collection of error records (write down when you encounter them)
ES2020新特性
网络排错基础-学习笔记
[ingress]-ingress exposes services using tcp port
VSCode编写OpenCV
wc, grep, tar, vi/vim
Met with the browser page
el-progress implements different colors of the progress bar
sql server 重复值在后面计数
The future of cloud gaming
通过反射获取Class对象的四种方式