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

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv