.Net网站架构设计(二)Web服务器集群架构
什么是web负载均衡
服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为:
- 高性能集群:将单个重负载的请求分散到多个节点进行处理,最后再将处理结果进行汇总
- 高可用集群:提高冗余单元,避免单点故障
- 负载均衡集群:将大量的并发请求分担到多个处理节点。由于单个处理节点的故障不影响整个服务,负载均衡集群同时也实现了高可用性。
一般提到的负载均衡(Load Balance),是指实现负载均衡集群。负载均衡实现了横向扩展(Scale Out),避免纵向的升级(Scale Up)换代。
本文中的web负载均衡,特指能够分担web请求(http,https等)的负载均衡技术。
1、先介绍一下Web负载均衡都有哪些方式
任何的负载均衡技术都要想办法建立某种一对多的映射机制:一个请求的入口映射到多个处理请求的节点,从而实现分而治之(Divide and Conquer)。
这种映射机制使得多个物理存在对外体现为一个虚拟的整体,对服务的请求者屏蔽了内部的结构。
采用不同的机制建立映射关系,可以形成不同的负载均衡技术,常见的包括:
- DNS轮询
- CDN
- IP负载均衡
有关负载均衡详细技术请参考: 负载均衡
2、介绍一下Nginx配置
2.1首先搭建Web1、Web2、Web3 ....多台IISWeb服务。(可以再不同的机器上建立不同的端口)
例如
Web1:192.168.128.101 :10001
Web2:192.168.128.102 :10002
Web3:192.168.128.103 :10003
......
2.2配置Nginx服务器
Nginx server:192.168.128.100
将Nginx解压到任意目录。
进入目录:找到nginx配置
配置如下:
upstream pcgroup.com {
server 192.168.128.101:10001 weight=1;
server 192.168.128.102:10002 weight=2;
server 192.168.128.103:10003 weight=1;
}
其中:pcgroup.com 是 集群名称
使用cmd命令提示符将目录切换到nginx.exe所在目录。
启动服务输入start nginx.exe。
ok,你现在已经成功配置了负载均衡。
注:改过核心配置文件后需要重新加载配置:nginx -s reload 。停止服务使用:nginx -s stop
3、IIS集群/.Net共享Session
我们先看看IIS的几种Session模式
ASP.NET中Session的状态保持是由web.config文件中的标记下的标记的mode属性来决定的。该属性有四种可能的值:Off、Inproc、StateServer和SQlServer。
<sessionState mode="InProc" cookieless="false" timeout="20" />
3.1 Inproc,依赖 aps.net,程序重启,或者bin文件内容变动,session丢失
3.2 StateServer:<sessionState mode="StateServer" stateConnectionString="tcpip=myserver:42424" cookieless="false" timeout="20" />
克服了Inproc的缺点。但是StateServer重启,全部会话丢失。
3.3 用SQL Server进行会话管理
采用SQLserver将会话保存起来。
我们可以采用3.3,3.2来实现session共享。
3.4除IIS的session机制外,我们还可以利用Cookie ,把用户登录信息放在 缓存服务中,现在交常用的缓存服务有Redis,Memached;
我强烈建议使用3.4 使用的方法。
4、Web服务的分布式。
除以上负载均衡外,还可以将web服务的不同功能实现分开部署。
一般讲静态文件,JS,Css,和样式图片专门由一台服务器提供服务。
由文件服务集群专门提供文件资源。
根据业务将web,分为Web接口服务,web页面服务。等,以缓解不同业务功能需求对服务器造成的压力。
.Net网站架构设计(二)Web服务器集群架构相关推荐
- ipvsadm命令及lvs-nat类型web服务器集群
1.管理集群服务 (1)创建或修改 ipvsadm -A|E -t|u|f service-address [-s scheduler] -A 添加 -E 修改 -t 承载的应用层协议为基于TCP协议 ...
- 腾讯QQgame高性能服务器集群架构看分布式架构设计原则
腾讯QQGame游戏同时在线的玩家数量极其庞大,为了方便组织玩家组队游戏,腾讯设置了大量游戏室(房间),玩家可以选择进入属意的房间,并在此房间内找到可以加入的游戏组(牌桌.棋盘等).玩家选择进入某个房 ...
- 利用LVS(Linux Virtual Server)系统实现Web服务器集群的负载均衡
利用LVS(Linux Virtual Server)系统实现Web服务器集群的负载均衡 LVS系统结构与特点: 1. Linux Virtual Server:简称LVS.是基于Linux服务器集群 ...
- opnet对服务器的性能分析,一种Web服务器集群的动态反馈算法
摘要:介绍了Web服务器集群技术和负载均衡,针对静态的加权轮询算法和动态加权最小连接数算法的不足,提出一种基于动态反馈的加权最小连接数算法,该算法根据服务器的实时负载动态地改变权值的大小,再根据最小连 ...
- nginx两台文件服务器集群,keepalived结合nginx状态检测脚本实现对web服务器集群的高可用...
实验环境 两台CentOS-7.5虚拟机 web1:10.0.11.203 web2:10.0.11.204 VIP :10.0.11.210 web类型:nginx 客户端:自用笔记本(win10) ...
- [转]使用简单的 5 个步骤设置 Web 服务器集群
文章来源:http://www.ibm.com/developerworks/cn/linux/l-linux-ha/index.html 使用简单的 5 个步骤设置 Web 服务器集群 使用 Lin ...
- Linux WEB服务器集群在电子商务中的应用
随着Internet 和电子商务的飞速发展,人们对电子商务网络服务器访问需求急剧增加,网络服务器的负载越来越大,采用服务器集群[1]已成为提高网络服务性能的有效途径.Web 服务器集群就是基于集群体系 ...
- Web服务器集群搭建
Web服务器集群搭建 1.需求分析 1.1.整体需求 搭建一个高可用的网站服务器集群,能承受高并发请求,能抵御一般的网络攻击,任何一台服务器的退服不影响整个集群的运作,并且能对各服务器的运行情况作出实 ...
- 分布式服务器集群架构方案思考
分布式服务器集群架构方案思考 http://homeway.me/2014/12/10/think-about-distributed-clusters/ 转载于:https://blog.51cto ...
最新文章
- 在这个时代,如何管理好95后员工?
- Python 条件判断
- REAL6410、OK6410、TE6410 的区别
- 计算机专业文档写作课件,计算机专业论文写作的方法.ppt
- Oracle 块修改跟踪 (Block Change Tracking) 说明
- 如何根据事物代码查找相应BAPI
- maven工程导入项目打开404_Maven依赖配置和依赖范围
- Java设计模式笔记(2)工厂方法模式
- c语言课程设计2018,C语言课程设计报告(2018)——学生管理系统(17页)-原创力文档...
- 2-27 最短路径《啊哈算法》2-28完成四种算法
- C#:泛型Range助手
- 下列关于java语言特性,下列关于Java 语言特点的叙述中,错误的是()。
- C 语言学习:班级同学的博客地址列表
- Echarts 3d地球toolstips实现
- 洛谷P1007 独木桥
- 叠片过滤器:过滤器设备的普遍使用
- ios12关闭设置角标_iOS如何优雅地消除应用角标详解
- 研究生最全文献查询、下载网站汇总,汇集各个专业权威国外网站!
- 华为手机支持鸿蒙,2021年华为智能手机全面升级支持鸿蒙2.0
- 58同城|TEG技术工程平台群-闪电面试专场内推(12月7日)