SLB+nginx 负载均衡宕机模拟

龙云靳的剥壳站 纵有疾风起,人生不言弃 本文由博客端 http://114.116.238.43 主动推送

上篇 Nginx 原理探究这篇文章主要探索了 ng 的几个核心点,分别是:1、反向代理 2、动静分离 3、负载均衡 4、跨域配置。今天主要探索下 ng 上的负载均衡,与其说是探索,不如说是进行一次实验(模拟服务宕机)。

首先,参考了《nginx 和阿里云的 SLB 的区别》和掘金上的一张负载架构图。

简单分析 ng 上的 SLB(负载均衡) 和阿里云 SLB 的区别

1、"Nginx 是一个有负载均衡 web 环境,阿里云 SLB 是一个单独的负载均衡系统"

2、如图分析,阿里云 SLB 更多的应用于服务器间的负载均衡,然后 ng 多应用于单一服务器间的相同应用的负载均衡(当然人家也能做服务器负载)。本质没有区别,都是做负载均衡的,但是阿里 SLB 偏应用于系统端,ng 偏应用于服务端。可以参考"阿里云负载均衡 SLB 是什么,如何使用"

TB2O4g6lVXXXXc6XXXXXXXXXXXX102975691.jpg

补一下 SLB 这个概念,百度百科:"服务器负载均衡(Server Load Balancing),可以看作 HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡"。

阿里云 SLB 的实验是做不了了,我只有一台服务器,模拟一下 ng 的 SLB 吧。首先我先随便写两个 Web 项目(内容一样)先挂在服务器上。(写的是真的简单。。。)两个相同的项目,访问请求放回"hello NgSLB",分别用 7070、6060 端口启动。(用这个 makedown 上传图片不老好传的,6060 那个和 7070 图一样)

1.PNG

2.PNG

启动一下项目,监听端口。

4.PNG

浏览器都可以正常访问到了,然后在 ng 上配置一下反向代理和负载均衡。

5.jpg
图片.png一通转转转然后可以正常访问到接口。其实这里有个不直观的地应该是把两个项目输出值稍作修改的,不过模拟的是企业级接口,原理应该没问题。

然后我把 6060 端口项目关了,默认他宕了。

图片.png
服务还在,那么这时 ng 就只能去轮询 7070 的项目了

8.PNG

图片.png

现在把两个端口都停了,就都访问不到了。至此,ng 的负载均衡模拟一个服务宕掉后另一个能轮询到另一个正常访问的实验就成功了。

10.PNG

其实 ng 负载配置项还有很多别的指令这次都没有用到,比如 weight(权重)、down(暂时不参与负载)、backup(备机?)等等,以后再做研究吧。

ng 探索基本也就到这了,下午去帮同事看看 PUBLICCMS 这个开源系统的代码逻辑(他偏偏用 ssh,我大学学 ssm,现在用 jdbc、jpa。。。)

  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    287 引用 • 535 回帖 • 433 关注

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...