当前位置:网站首页>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=123456
Third, 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
边栏推荐
- D39_Vector
- Wireshark packet capture and common filtering methods
- Billions of IT operations in the market, the product by strength to speak
- 无法导入torchvision.io.read_image
- document.querySelector()方法
- 【考研结束第一天,过于空虚,想对自己进行总结一下】
- D45_Camera assembly Camera
- js 使用雪花id生成随机id
- [ingress]-ingress exposes services using tcp port
- 原生JS带你了解数组方法实现及使用
猜你喜欢
Wireshark packet capture and common filtering methods
D45_Camera assembly Camera
Q 2020, the latest senior interview Laya soul, do you know?
[问题已处理]-jenkins流水线checkout超时
[问题已处理]-虚拟机报错contains a file system with errors check forced
Mina's long and short connections
LaTeX image captioning text column automatic line wrapping
ALC experiment
el-progress implements different colors of the progress bar
LaTeX 图片加标题 文本分栏自动换行
随机推荐
config.js相关配置汇总
NB-IOT智能云家具项目系列实站
Problems encountered in installing Yolo3 target detection module in Autoware
Detailed explanation of ten solutions across domains (summary)
LaTeX笔记
GetEnumerator method and MoveNext and Reset methods in Unity
The method of using ROS1 bag under ROS2
Mina的长连接和短连接
VLAN is introduced with the experiment
Into the pre-service, thought they play so flowers
Vim tutorial: vimtutor
LaTeX image captioning text column automatic line wrapping
LeetCode练习及自己理解记录(1)
Transformer interprets and predicts instance records in detail
NACOS配置中心设置配置文件
网络排错基础-学习笔记
BIO, NIO, AIO practical study notes (easy to understand theory)
reduce()方法的学习和整理
vscode笔记
The 25 best free games on mobile in 2020