前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >负载均衡环境下的web服务器处理

负载均衡环境下的web服务器处理

作者头像
菩提树下的杨过
发布2018-01-23 10:40:09
1K0
发布2018-01-23 10:40:09
举报
文章被收录于专栏:菩提树下的杨过

负载均衡设备允许把一台web server轻易扩展成web server集群(前提是所有的web server必须配置完全相同),有访问请求时,该设备会把该请求根据一定的算法,分配给web服务器集群中的某一台服务器,从而大大增加了web server的并发处理能力。

实际应用中,通常把多个web server放在同一机房,相互之间可以用局域网访问。

1.文件同步问题:

多个web服务器上的网站文件必须完全相同,否则有可能造成用户前后二次请求访问的页面内容不同,所以文件同步是必须要考虑的首要问题.

这里介绍几种常用的方法:

a.批处理文件 + 计划任务 :批处理文件利用dos命令完成文件的局域网内复制,然后计划任务里每隔一定时间自动执行bat文件即可。

这种方式适合不经常更新的应用环境,如果要求文件更新必须实时的话,这种方法就不行了.

b.利用现成的文件同步软件:市面上有一些不错的文件同步软件,直接用就行了。(有些功能强的软件支持定时同步和实时同步二种方式)

c.如果想DIY的话,其实利用.Net中的FileWatcher类通过对源站目录中的文件监视就能方便的实现文件同步,而且这种方式很灵活,实时或定时都能实现(完全由开发者自行控制)。 FileWatcher的使用示例见我的另一篇blog:http://www.cnblogs.com/yjmyzz/archive/2009/06/07/1498221.html(利用FileWatcher实现文件实时监视)

2.Session的处理

默认方式下,Session是InProc模式,即session是存放于网站所在的服务器上,所以多台服务器的session同步也是一个问题。这个asp时代可能比较麻烦,但幸运的是.net从2.0开始,允许session存放于一台特定的服务器甚至某个数据库中,这样的话不管web服务器有多少台,都可以把session集中存放在一台专门的数据库服务器中.

这里以存放于SqlServer为例,大概讲解一下使用步骤: a.先停止IIS服务,cmd环境下输入net stop w3svc或iisreset /stop即可(这一步貌似可选,详情见http://support.microsoft.com/kb/317604)

b.打开数据库,运行\WINNT\Microsoft.NET\Framework\(.net版本号)\installSqlState.sql,目的是配置session数据库

c.修改网站的web.config配置,如下: <sessionState mode="SQLServer" sqlConnectionString="Data Source=服务器IP地址;User ID=***;Password=***;" cookieless="false" timeout="20"/>

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2009-06-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档