828华为云征文|基于华为云Flexus X实例搭建Nginx集群负载均衡

2024-09-07 23:20

本文主要是介绍828华为云征文|基于华为云Flexus X实例搭建Nginx集群负载均衡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

一、Flexus云服务器X介绍

1.1 Flexus云服务器X实例简介

1.2 Flexus X实例购买

1.3 登录服务器

三、Springboot集群服务

3.1 部署9901节点服务

3.2 部署9902节点服务

四、Nginx负载均衡配置

五、集群负载调用测试

5.1 负载调用9901端口

5.2 负载调用9901端口

总结


前言

华为云Flexus X实例凭借其高性能、灵活性和易管理性,成为了众多企业的首选。本文将带领大家深入了解如何在华为云Flexus X实例上部署后端Spring Boot工程的集群服务。通过实际操作,部署并验证9901和9902节点的服务,确保集群的高可用性和负载均衡能力。

一、Flexus云服务器X介绍

1.1 Flexus云服务器X实例简介

Flexus云服务器X是华为云推出的一款高性能、高可用性的云服务器,它采用了最新的处理器技术,支持多种操作系统和应用程序,具备灵活的资源配置和强大的扩展能力。无论是Web应用、数据库服务还是大数据处理,Flexus云服务器X都能为您提供稳定、高效的运行环境。

e9493b1e074c4f04b1649494d43aadae.png

1.2 Flexus X实例购买

本文实践前,开始前需要在华为云官网购买Flexus X实例,可以根据实际需求选择合适的配置,如CPU、内存、存储和网络带宽等。

8b5e99e4e6174443bb2d3f7b33dabbd5.png

购买成功后,再控制台,就可以看到刚刚购买的Flexus X实例服务器,如下已购买4核12g的实例。

6da673ffb8ea4671b37feda06f25f161.png

1.3 登录服务器

重置密码之后,就可以使用刚刚的密码登录到Flexus云服务器X实例,可以使用xShell等SSH客户端工具登录服务器或者选择使用自带的cloudshell。

995421377f2f4713ab56d2a8d8c16064.png

 接下来就可以登录到Flexus云服务器X实例中,进入终端之后,会提示 Welcome to Huawei Cloud Service,说明成功登录。

三、Springboot集群服务

在上一篇文章Flexus X实例部署后端Springboot工程中,已经详细讲解了如何在华为云Flexus X实例上部署后端Spring Boot工程了,然而,那篇文章主要关注的是单实例部署和调用。为了实现高可用性和负载均衡,在实际开发中需要将服务部署到多个实例上,本文就利用Flexus云服务器X实例实例部署验证Springboot集群,以体现Flexus云服务器X实例性能强大。

3.1 部署9901节点服务

在集群服务部署完成后,需要验证9901节点的服务是否正确部署。为此,可以通过直接调用接口来进行测试。

首先,启动9901端口的服务,使用nohup命令,并且指定端口启动,这里需要注意的时候,由于pring Boot应用程序的端口参数应该是--server.port而不是--serverport,可以参考springboot配置文件。

nohup java -jar /mydata/springboot/springboot-activity.jar --server.port=9901 >/mydata/springboot/log/activity.log &

启动成功查看9901工程日志,工程成功监听9901端口

同时也可以使用浏览器请求接口是否能正确访问。 

3.2 部署9902节点服务

接下来,部署9902节点的服务。同样地,启动9902端口的服务:

nohup java -jar /mydata/springboot/springboot-activity.jar --server.port=9902 >/mydata/springboot/log/activity_9902.log &

同样启动成功查看9902工程日志,工程成功监听9902端口

以上说明我们的后端集群部署完成了。

四、Nginx负载均衡配置

关于Flexus云服务器X实例nginx安装配置,可以参考这篇文章:

Flexus X实例部署后端Springboot工程

在已经安装好Nginx的Flexus云服务器X中,需要修改配置文件。默认Nginx的配置文件位于/usr/local/nginx/conf目录下。vi命令进行编辑操作,主要是配置两个上游服务器9902和9901,浏览器只要访问nginx的/api 接口,就会自动转发到对应的上游服务器。完整配置文件如下:

events {worker_connections 1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;# 配置上游服务器,负载均衡upstream mynginx {server 127.0.0.1:9901;server 127.0.0.1:9902;}#gzip  on;server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}location /api {# proxy_pass mynginx;proxy_pass http://mynginx/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

这样配置后,当浏览器访问Nginx的/api接口时,请求会自动转发到对应的上游服务器。

五、集群负载调用测试

上述已经完成集群部署和nginx负载均衡配置,为了验证最终负载均衡的效果,进行集群负载调用测试。无需指定端口调用,而是通过Nginx请求转发来实现负载均衡,在浏览器请求下面地址。

http://ip/api/red-package/rob?redPackageKey=657ba58d316f48b18479aa221583fe7c&userId=77

5.1 负载调用9901端口

第一次调用服务接口时,通过Nginx转发,发现最终调用的是9901端口的服务,只有9901的日志有输出。

5.2 负载调用9901端口

再次调用服务接口时,这次只有9901端口的日志有输出,说明请求已经切换到了9901端口的服务。

通过以上测试,可以确认已经成功利用Flexus X实例实现了集群Nginx负载均衡调用。这种方式不仅能够减轻单体服务的压力,还能让两个服务轮流休息,从而保证后端服务的稳定运行。

总结

在本文中,主要详细探讨了如何在华为云Flexus X实例上部署后端Spring Boot工程的集群服务。通过分别部署9901和9902节点的服务,并验证它们的正确性,充分展示了华为云Flexus X实例在实现集群高可用性和负载均衡方面的强大能力。

 🎉华为云828 B2B企业节盛大启幕!Flexus X实例限时特惠,错过等一年!🎁

对于那些对算力性能有着极高要求,同时希望自建MySQL、Redis、Ngin下性能更上一层楼的企业和个人,Flexus X实例的这次特惠活动绝对不容错过。赶快把握机会,让业务更上一层楼!

这篇关于828华为云征文|基于华为云Flexus X实例搭建Nginx集群负载均衡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146453

相关文章

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置