饿了吗?一饱眼福-不能不懂的web网站架构负载均衡群集

news/2024/5/9 15:21:23/文章来源:https://blog.csdn.net/Friendsofthewind/article/details/120065878

理论

1、web搭建网站有哪些方式实现负载均衡与高可用性能?

Nginx:反向代理,适用于中小型网站服务

		优点:工作在七层之上,针对HTTP做分流策略,正则规则haproxy更灵活对网络的稳定性依赖小安装配置简单高负载高并发低消耗不仅能做代理,还可以做web服务器还能缓存静态网页和图片社区活跃,第三方模块非常多缺点:适应范围较小,仅能支持http、https、Email协议。对后端服务器的健康检查,只支持通过端口检测,不支持url来检测。

haproxy:适用于中小型网站服务

		优点:	HAProxy是支持虚拟主机的,可以工作在4、7层(支持多网段)HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。HAProxy跟LVS类似,本身就只是一款负载均衡软件;单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。HAProxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡,对后端的MySQL节点进行检测和负载均衡HAProxy负载均衡策略非常多,HAProxy的负载均衡算法现在具体有8种缺点:不支持POP/SMTP协议不支持SPDY协议不支持HTTP cache功能重载配置的功能需要重启进程多进程模式支持不够好

lvs: Linux virtual service的简称,Linux虚拟化服务,适用于大型网站服务

		优点:   抗负载能力强、是工作在网络4层之上仅作分发之用   配置性比较低,这是一个缺点也是一个优点,简单不易出错工作稳定,抗负载能力很强,有完整的双机热备方案,如LVS(DR)+ Keepalived。无流量,LVS只分发请求,而流量并不从它本身出去应用范围比较广,几乎支持所有应用常用的调度算法: rr轮询   wrr加权轮询   lc最小连接数   wlc加权最小连接数 缺点:不支持正则表达式处理,不能做动静分离网站应用比较庞大的话,LVS/DR+Keepalived实施起来比较复杂

2、nginx的基础特性:

模块化设计,较好的扩展性
高可靠性
支持热部署,不停机更新配置文件,升级版本,更换日志文件
低内存消耗,10000个keep-alive下的非活动连接,仅需2.5M内存
event-driven(事件驱动),aio(异步非阻塞),mmap(内存映射),sendfile(代理转发)

3、基本功能:

静态资源的web服务器
http协议的反向代理
fastcgi、uWSGI(python)
pop3/imap4邮件反向代理
模块化,zip、ssl等模块

4、nginx进程结构:**

Master/Worker 结构:一个 master 进程,生成一个或多个 worker 进程。
master:
读取nginx配置文件,验证有效性和正确性
建立、绑定和关闭socket连接
接受外界指令,比如重启、开、关服务
不中断服务,平滑升级
处理perl脚本

worker:
接受处理客户的请求(按模块区分)
I/O调用
与后端服务器通信
缓存数据
发送请求结果
接受主程序的指令

5、nginx模块:

核心模块:core module
标准模块:
ngx_http_*
ngx_mail_*
ngx_upstream_*
第三方模块:


案例:

源码安装负载均衡,yum安装nginx网站节点,修改节点的默认首页,客户端访问验证。
配置负载均衡服务器追踪客户端的原始ip,启用nginx缓存。

1、 搭建环境
关闭防火墙或配置安全策略,
2、 安装前提软件(用命令检查,仅安装需要但本机未安装的)
请添加图片描述
3、 复制nginx和缓存包到/usr/src,解压

创建Nginx用户:
useradd -s /sbin/nologin nginx

解压:
cd /usr/src
tar xf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz // Cookie 会话黏贴
tar xf ngx_cache_purge-2.3.tar.gz //缓存清除,清除不需要的缓存数据
tar xf nginx-1.12.0.tar.gz

4、 进入目录,编译安装nginx

cd /usr/src/nginx-1.12.0./configure --prefix=/usr/local/nginx --user=nginx --group=nginx \
--with-http_stub_status_module --with-http_realip_module --with-http_ssl_module \
--with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
--with-pcre --add-module=../ngx_cache_purge-2.3 --with-http_flv_module \
--add-module=../nginx-goodies-nginx-sticky-module-ng-08a395c66e42 \
&& make && make install

安装成功如下图:
在这里插入图片描述
命令验证:
在这里插入图片描述

5、添加nginx系统服务并启动

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
mkdir -p /var/tmp/nginx/client
chown -R nginx:nginx /var/tmp/nginx

vim /etc/init.d/nginx

#!/bin/bash
# chkconfig: 2345 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" instart)netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/nullif [ $? -eq 0 ]thenecho "Nginx service already running."else$PROG -t &> /dev/nullif [ $? -eq 0 ] ; then $PROGecho "Nginx service start success."else$PROG -tfifi;;stop)netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/nullif [ $? -eq 0 ]thenkill -s QUIT $(cat $PIDF)echo "Nginx service stop success." elseecho "Nginx service already stop"fi;;restart)$0 stop$0 start;;status)netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/nullif [ $? -eq 0 ]thenecho "Nginx service is running."elseecho "Nginx is stop."fi;; reload)netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/nullif [ $? -eq 0 ]then$PROG -t &> /dev/nullif [ $? -eq 0 ] ; thenkill -s HUP $(cat $PIDF)echo "reload Nginx config success."else$PROG -tfielseecho "Nginx service is not run." fi ;;*)echo "Usage: $0 {start|stop|restart|reload}"exit 1
esac

6、配置反向代理和缓存(注意:加sticky,来自同一个客户端的请求发送到同一个后端服务器处理)

(1)lb负载均衡服务器的配置:IP填自己的节点web

vim /usr/local/nginx/conf/nginx.conf
在这里插入图片描述
在这里插入图片描述
7.配置节点服务器,并启动,创建测试文件
node1:
在这里插入图片描述
node2:
在这里插入图片描述
8.验证:

不加sticky,访问来回切换,是每个web提供服务;
请添加图片描述
配置文件加sticky,第一次访问是哪个节点服务器提供服务,以后固定
请添加图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_782154.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

轻松搭建web网站架构服务

学习目标: 搭建lnmp网站架构,实现负载均衡、高可用,以及https,并通过NFS优化数据存储。 服务器IP地址web1192.168.2.137web2192.168.2.136mysql192.168.2.133PHP192.168.2.130lb(keepalived)1192.168.2.135lb(keepalived)2192.1…

云计算必备-企业架构网站综合项目

目录流程一、实现效果二、步骤1.实施规范2.实施流程总结流程 1.需求分析,写项目规划书(项目经理、技术总监cto) 2.画架构图,将架构分解成各种模块(架构师) 3.各模块实施和测试(运维工程师&…

Asp.NET MVC 拍卖网站,拆解【1】预览与目录

本人最近带创业团队基本做完了一个艺术品拍卖的外包项目,分为网站前台(asp.net mvc5),网站管理员管理的后台使用的9900端口(asp.net mvc5),监听拍卖状态的windows服务,为手机端提供服…

html5相关网站

2019独角兽企业重金招聘Python工程师标准>>> http://designmodo.com/ 非常非常多的下载资源 UI界面 http://www.cnblogs.com/lhb25/ 有很多好的文章 http://www.freebiesgallery.com/ 免费psd http://medialoot.com 免费模板 http://chocotemplates.com/ 模板下载 h…

如何解决国产TongWeb中间件启动之后无法访问网站管理后台界面

背景介绍:什么是国产TongWeb中间件呢? TongWeb7 是遵循 JavaEE7 Web Profile 规范的企业级应用服务器,它为企业应用提供了可靠、可伸缩、可管理和高安全的基础平台。同时具有功能完善、支持开放标准和基于组件开发、多层架构、轻量等特点&…

IIS 发布网站 ashx无法访问

IIS6 问题 1.是否安装相应的.net版本 2.查看.net版本是否一致 3.查看web 服务扩展中.net版本是否允许。 4.添加相应的MIME类型文件 在IIS中右键网站→属性→主目录→配置→添加 可执行文件路径:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 取消确认文件是…

网络爬虫-cnzz网站统计(umuuid参数加密破解)

总体来说算是比较easy的js加密 由于涉及到部分隐私 就简单说下该参数的加密思路 以马蜂窝为例 该网站使用的是CNZZ统计流量 首先抓包看参数,如图 可以比较清晰地看到 cnzz的统计是发起的这个get请求 然后看下这些参数 我们不确定的参数有 id / cnzz_eid / umuuid …

网站页面横幅维护以及实现方案(含详细代码)

在很多中小型的网站开发公司来讲,承担网站建设后的日常维护是极为重要的一部分工作;也为了后续的其他产品的推广积攒更好的客户关系;网站维护的现状绝大多数都是内容维护,功能维护及新增频率会少很多,针对于此现状&…

如何在电脑上测试手机网站(补充)和phonegap

颜海镜 介绍了专业人士精准测试手机网站的经验 http://www.cnblogs.com/yanhaijing/p/3557261.html, 因为太专业了,稍显复杂和琐碎,这里我介绍下我一直关注的的 inter XDK 去年的 xdk 是浏览器插件,今年用nodejs重写了,可见前端会…

Windows Azure 网站自愈

编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Apurva Joshi 撰写。 您有多少次在半夜被叫醒去解决一个仅需重新启动网站即可解决的问题?要是可以自动检测一些状况并自动恢复该有多好! 随着 Windows Azure 网站 (WAWS) 最新更新的推…

win2008r2的iis7.5手动建站方法,iis7.5中用独立用户建立网站的方法,提高网站安全性...

win2003的iis6手动建站方法,iis6中用独立用户建立网站的方法,提高网站安全性,我们前面的教程有说明,请看http://www.piis.cn/zhishi/web574.asp 现在我们说下在WIN2008R2环境中IIS7.5中手动建立网站并设置网站安全的方法: 设置以上身份…

快速排名 让人疯狂的黑帽seo技术

对于黑帽seo大家或许并不陌生,黑帽seo和白帽seo恰恰相反,是作弊手段。有白帽seo的时候,就有了黑帽seo一直到现在。但隔行如隔山这句话这句话一点都没错,再没接触黑帽seo技术之前我根本不知道黑帽seo能这么快的排名。今天我就解密下…

网站页面横幅维护以及实现方案(含详细代码)

在很多中小型的网站开发公司来讲,承担网站建设后的日常维护是极为重要的一部分工作;也为了后续的其他产品的推广积攒更好的客户关系;网站维护的现状绝大多数都是内容维护,功能维护及新增频率会少很多,针对于此现状&…

公祭日网站变灰白色效果

四天前 星期六 清明节   2020年,一个很不平凡的年度。鼠疫、新型冠状病毒肺炎和就在清明节前夕的西昌山火。在这一段时间里我国经历很多惨痛的时刻,很多英雄“逆向而行”去到了最危险的前线保护人民群众生命财产的安全!更有很多英雄在保护…

如何快速创建个人网站

个人网站是属于自己的一个网站,可以用来分享自己生活感悟、知识想法等,或者介绍自己的生活教育经历,常用于面试,给人眼前一亮的感觉。那么该怎样快速拥有个人网站呢?个人建站方式概况 个人建站方式主要分为云服务器开发…

黑科技!无需代码快速搭建网站的平台来了

通过智能网站搭建平台,可以无需代码快速搭建网站。 步骤一:注册/登陆爱用建站平台PC或移动端登陆用户中心-爱用智能网站,新用户注册【iYong通行证】。 步骤二:通过类似PPT编辑操作的可视化设计器设计上线网站。保存即可上线&…

没有设计能力,如何打造个人网站?

没有设计能力,如何打造个人网站? 通过爱用建站—Design Lab的主题功能,快速完成网站布局排版和色彩搭配,让您快速上线品牌网站! 第一步:选择主题 1、进入【爱用平台】——【Design Lab】桌面端/移动端&am…

爱用建站一键开启头条巨量流量

什么是头条搜索? 头条搜索是字节跳动推出的搜索引擎服务。所收录网页内容将出现于今日头条等字节跳动APP矩阵的搜索内容中。 头条搜索站点设置教程? 1、注册并登陆【头条搜索站长平台】 2、进入首页,添加绑定站点 3、填写站点域名&#xf…

头条号已加入爱用建站-智慧链接大家族,流量入口又增加了啦

12流量入口升级成13流量入口了,因为爱用建站-智慧链接多了 头条号 这个新成员。 商家一直都在追逐流量。因为有流量就有目标群体,接下来的步骤就是拉新,转化,留存,继续拉新老用户拉新,形成一个动态的循环。…

超级好用的智能网站小功能

01、网站短链功能可以进行埋点和统计数据,生成的链接前缀是平台的域名“j-cc.cn”。 使用智能链接,可使用品牌自定义域名替换“j-cc.cn”,并且在你自己的品牌域名短链接中支持HTTPS。 用户和客户的转换和信任增加了。 进入智能链接-链接管…