范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

用NGINX进行负载平衡

  先决条件:基本的Docker和Nodejs知识
  在这篇文章中,我将谈论如何控制我们Web应用程序的后台流量。在这个过程中,我将使用负载平衡功能,它是Nginx自己的功能之一。让我们从一个简单的定义开始。
  在最简单和最简短的定义中,负载平衡是管理服务器和客户端之间流量的过程。在今天的架构中,有必要在需要时增加服务器的容量。这个过程被称为扩展。有两种不同的方法可用于扩展。增加服务器容量,即成倍增加其内存和速度。增加服务器的数量。
  在今天的架构中,第二种选择被更广泛地使用。在这样的架构中,管理流量将是至关重要的。因为来自客户端的请求应该以最适当和最理想的方式分配给服务器,以避免冲突和不使服务器过载。这样一来,一个繁忙的服务器就不会变得繁忙,而另一个服务器也就解决了问题。进行这种操作的结构被称为负载平衡器。
  在架构中的4个服务器和客户端之间有一个负载平衡器。这个结构将根据一定的算法将传入的请求转发给服务器,并控制流量。
  那么,负载平衡器使用什么算法来控制流量?
  负载平衡器使用的算法或方法有多种。这种选择权在开发者手中,可以根据架构和流量选择一种负载平衡方法。下面是这些方法中的几种。最少的连接基于资源的循环赛IP哈希值
  除了这些方法之外,还可以像随机一样进行交通管制。你可以在这里找到上述方法的解释和更多的信息。
  由于它将是快速和简单的,我将创建我们的后台项目,它将用nodejs在服务器上运行。我在项目目录中为服务器创建了一个文件夹,并在这个文件夹中用以下命令启动一个node项目。npm init -y
  package.json文件已经创建,现在让我们在服务器文件夹中创建index.js文件。由于我们将创建一个rest api,我将使用node express,所以让我们用以下命令添加必要的库。npm install express
  我们项目目录的最终版本将如下。
  现在让我们对index.js文件进行编码。const express = require("express")  const app = express()  app.get("/", (req,res) => {       res.send("This is the server"s response...")   }) app.listen(5050,() => {       console.log("Listening...")   })
  我们已经实现了一个简单的rest api,从5050端口提供服务。为了测试它,你可以用node index.js命令运行它,并从localhost:5050端口访问它。
  现在让我们把这个简单的后端应用作为docker容器运行。接下来,我们将虚拟地把这个服务器复制成docker容器,并在nginx.conf文件中为负载平衡做出修改。
  让我们在服务器文件夹中创建一个Docker文件。FROM node:19-alpine  WORKDIR /usr/src/app  COPY package*.json ./      RUN npm install      COPY . .      EXPOSE 5050  CMD [ "node", "index.js" ]
  在我们建立Docker文件之前,nginx和我们的虚拟服务器都将在docker上运行。我们需要创建一个共同的网络,使它们能够相互通信。让我们用以下命令创建一个名为loadbalance_net的网络。docker network create loadbalance_net
  现在,让我们通过依次运行以下命令来构建和创建我们的4个虚拟服务器。docker build -t server .  docker run -p 1010:5050 --name backend_server_1 -d --network loadbalance_net server  docker run -p 2020:5050 --name backend_server_2 -d --network loadbalance_net server  docker run -p 3030:5050 --name backend_server_3 -d --network loadbalance_net server  docker run -p 4040:5050 --name backend_server_4 -d --network loadbalance_net server
  我们有4个相同的服务器,可以从1010、2020、3030和4040端口访问。通过打开你的浏览器,你可以从这些端口访问和测试你的后台服务。
  这些端口是在docker网络之外开放的端口,所以我们可以从docker之外用这些端口访问这些虚拟服务器。但由于我们的nginx服务器也是一个docker容器,我们将从5050端口访问我们的后端服务器,并使用它们自己的特殊名称,而不是从这些端口。3- NGINX作为一个负载平衡器
  在这篇文章中,我们将使用NGINX作为负载平衡器。(在我之前的文章中,我们使用nginx作为Web服务器,并为react应用提供服务。)
  它使用默认的Round Robin算法作为Nginx的负载平衡方法。我们将继续使用这种算法。
  首先,我们将在项目中创建一个nginx文件夹,并在其中创建nginx.conf文件。
  现在我们来写nginx.conf文件的内容。upstream backend {     server backend_server_1:5050;     server backend_server_3:5050;     server backend_server_3:5050;     server backend_server_4:5050; } server {     listen 80;     include /etc/nginx/mime.types;     location / {           proxy_pass http://backend/;     } }
  通过上游块,我们已经显示了哪些后端服务器可以访问我们的nginx服务器。由于我们没有指定具体的负载均衡算法,它将使用轮回算法。如果我们想让它使用一种不同的算法,我们可以按以下方式指定。upstream backend {     least_conn;     server backend_server_1:5050;     server backend_server_3:5050;     server backend_server_3:5050;     server backend_server_4:5050; }
  我们说过,在上述配置中,我们将使用 least_conn 算法。对于其他选项,只要指定同样的内容就足够了。详细的信息可以在这里找到。
  是的,既然我们已经处理了nginx的配置,让我们创建一个Docker文件,创建一个nginx镜像,然后启动负载均衡器从3000端口提供服务。项目目录的最终状态将是这样的。
  Nginx Dockerfile。FROM nginx:stable-alpine  COPY nginx.conf /etc/nginx/conf.d/default.conf  EXPOSE 80  CMD ["nginx", "-g", "daemon off;"]
  现在是建立nginx Docker文件的时候了。让我们用下面的命令进行构建。docker build -t nginx_load_balancer .
  让我们把我们建立的图像映射到3000端口,并把它纳入我们之前创建的网络中。docker run -p 3000:80 --name nginx_server -d --network loadbalance_net nginx_load_balancer
  在这个过程之后,将有5个容器在运行,情况如下。
  所有交易都正常。现在让我们到浏览器中,向localhost:3000发送一个请求
  正如你所看到的,我们从我们的后端服务器得到了响应。每次我们刷新页面,它都会使用我们设置的load_balancing算法连接到不同的服务器,但我们没有看到它。为了看到它正在连接到不同的服务器,你可以改变它向服务器发送的响应,然后再测试一下。
  综上所述,在这篇文章中,我们使用nginx的负载均衡功能在服务器之间进行了一个负载均衡过程.

2023年折叠屏将迎来爆发,FindN2系列秒变黑马,拿下市场份额第一文手机技巧库折叠屏内卷时代来了,国产品牌和三星竞争异常激烈。近日,华尔街见闻公布了一份折叠屏市场调研数据,并列举出了2022W52期间国内折叠屏市场的市场份额,其中华为凭借着以Po万达商管去年租金收入约508亿元,开业55个万达广场2022年12月16日,天津西青万达广场正式启用。人民视觉资料图1月12日,大连万达商业管理集团股份有限公司发布2022年业绩快报。财报显示,万达商管2022年收入553。1亿元,被全网群嘲的一只帝王蟹事件,炸出了多少伪大款hi,我是头趣知识,点击右上角关注,每天为你分享自媒体运营和日常干货。你想看的这里都有。近日,在小某书上看到一条热帖,引发了全网热议,炸出了多少伪大款。他的标题是我妈一个消息我快哭每日省思如何面对未知的不安感?头条创作挑战赛迷惘和不安其实是我们对于未知的两种负向情绪。迷惘更多来自于对未来的未知恐惧,不知道怎么选择更好。而不安则来自于对过去的糟糕经验,担心事情是否会变糟。而这两种情绪其实都这?曼联新援ampampamp富二代韦霍斯特妻子曾读江苏南通纺织职业技术学院直播吧1月14日讯据外媒lifebogger透露,曼联新援富二代韦霍斯特的妻子埃施曾留学中国江苏南通纺织职业技术学院。据该媒体考证,韦霍斯特妻子埃施出生于荷兰,曾来到中国就读于江苏从天问到天宫丨屈原173问在盛世中华找到答案2023NEWYEAR第十三届中国农民春节联欢会全国首档三农春晚年播剧新春将至,年味渐浓2023年第十三届中国农民春节联欢会年播剧就要揭开神秘面纱今年这部剧可谓群星闪耀名流荟聚,大异性同住酒店被查房,不是夫妻关系将会如何处理?答案来了在人们日常工作中,无论是外出游玩还是工作都免不了住酒店的情况。居住过酒店的朋友们都知道,有些管理制度比较严格的酒店,在入住的时候都要用身份证进行登记。有时候哪怕只是六岁以下的小孩子要么入土为安,要么向天开枪书名命运作者蔡崇达这本书适合最近特别焦虑,或感到绝望的朋友来看。书中的阿太,被命运安排了太多的苦难,而她没有选择躺平,更没有选择逃避,她选择的是朝命运开枪。以阿太的五段回忆,以她一景县壮大特色产业推动县域经济高质量发展近日,记者走进衡水景县一汽车制造有限公司的车间,自动化机械正在平稳运转,在流水线的尽头,一辆辆崭新的新能源环卫车辆陆续下线。不仅是机械制造行业,景县已有64项产品获得国家专利,一项小年酒知年味,归家团圆(文末互动有好礼)归家团圆贺小年辞旧迎新小年忙,擦窗扫地净灶膛。今天是北方小年。过了今夜,大年的喜庆气息将如宣纸泼墨,一下子洇散开来,大街小巷都张灯挂彩,团圆的日子就要来临!春运虽然千辛万苦但好在因在2022年12月31日晚喝点小酒牛栏山随意写给自己的2023!在2022年12月31日晚喝点小酒牛栏山随意写给自己的2023!随笔还没有完全醉酒的老付我叫付东土,感谢朋友的关注,新的一年即将到来,祝愿,只能祝愿了,祝愿大家别太对自己太苛刻,想
刚到的退烧药就剪开了,药店老板这个举动出人意料46盒药只能卖给46个人,拆开送可以给更多需要的人12月15日,湖北武汉洪山区有约200位市民领到了药店老板王璟的赠药。领到药的市民将这一消息发到网上引来众多网友点赞。王璟在整理药三千资本黄璜文娱行业发展长期向好提高成功率有迹可循黄璜。资料图虽然文娱行业这几年发展有些艰难,但它的长期发展趋势是向好的。因为当国家的整体实力变强之后,文化的对外输出成为一种必然趋势。三千资本创始管理合伙人黄璜在成长与进阶21世纪人民日报和音推动全球生物多样性治理迈上新台阶12月15日晚,习近平主席以视频方式向在加拿大蒙特利尔举行的生物多样性公约第十五次缔约方大会(COP15)第二阶段高级别会议开幕式致辞。习近平主席强调要凝聚生物多样性保护全球共识推人民日报央视前瞻!世界杯决战,牵动80亿人心,梅西最后一舞北京时间12月18日23点,世界杯决赛,阿根廷对阵法国,这场巅峰对决牵动全球80亿人心,梅西将完成自己在世界杯舞台上的最后一舞,人民日报和央视高度关注,冠军只有一个。人民日报写道阿人民日报金句选编(109)君子尊崇德行,好学善问,宽广博大,精细微小,高大光明,遵循中庸之道。人生,就像一场旅行。人生不过是一场旅行,你路过我,我路过你,然后各自向前,各自修行。在岁月中跋涉,每个人都有自己人民日报金句选编(110)远离他,则生仰慕之心。靠近他,则无厌恶之意。拿得起,放得下才是完美的人生。谁不想拿得起,放得下,把人生走得愉愉快快,把生活过得轻轻松松。拿得起,就要扛得住,放得下就需看得开,这,既人民日报金句摘抄从哪里发文?1这一年大概是我长这么大最难熬的一年,也是让我成长最多的一年。感谢生活赐予我一场惊慌失措,但愿以后抬头有阳光。关关难过关关过,夜夜难熬夜夜熬,悲喜自渡,他人难悟。悄悄崩溃,默默自愈小孩发烧几天能痊愈?解封后,网友们说以后就拼抵抗力了,今天我信了。身边的人一个个都阳了,都是一家一家的全部沦陷,我家也加入了羊群大军。看着宝妈群热闹的聊天,最近一直在讨论羊的话题。最最关心的还是孩子的中国疾控中心关于BQ。1,你需要知道的几件事来源中国疾控动态近日网络流传代号地狱犬的新冠变异毒株,在日本杀疯了?文中包含中文网络近日流传消息称,一种名为BQ。1。1的新型变异毒株已经出现。该毒株的传染性和致死率都很高,又被称围炉夜话读书过冬!2022推荐的最后一本书,巴菲特传记滚雪球2022年年末,在料峭寒风中,有关疫情的消息牢牢占据着各类APP的话题榜单。在这样的环境中,不如让我们先从纷繁复杂的消息中抽身,外面大雪纷飞,屋内温暖如春,正是读书的好时节。202信仰2728赵云飞中弹,田太平英勇牺牲,男主无奈成ampampquot谍中谍ampampquot头条群星10月榜文丨娱乐小暴风书接上回赵云飞因发送电文数量过多,被怀疑有通共叛敌之嫌。叶处长特意让陈玉婷前来协助办案,男主的生死只在其一念之间。赵云飞的信仰十分坚定,严刑酷打都不曾