加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

将Asp.net应用程序移动到负载平衡的环境中

发布时间:2020-12-16 03:19:43 所属栏目:asp.Net 来源:网络整理
导读:我有一个在单个服务器上运行良好的应用程序.我的客户现在希望将其转移到负载均衡的环境中.这样做时哪些事情可能会让我感到困惑? 目前我知道 会话状态,和 机器钥匙. 例如,这两个都被描述为here,所以我正在寻找除此之外的其他东西. 这些similar questions,但
我有一个在单个服务器上运行良好的应用程序.我的客户现在希望将其转移到负载均衡的环境中.这样做时哪些事情可能会让我感到困惑?

目前我知道

>会话状态,和
>机器钥匙.

例如,这两个都被描述为here,所以我正在寻找除此之外的其他东西.

这些similar questions,但第一个解决了一般的负载平衡,我正在寻找迁移指南,第二个解决了一个特定的问题.

解决方法

您可能遇到的一件事是数据库服务器上的负载增加.如果您实施任何服务器端缓存数据,您将习惯于您的站点针对给定数据集访问数据库一次,缓存数据,然后在缓存超时之前不再访问数据库.对于常用数据,这是一个很好的策略.

在负载平衡的环境中,后续请求可能会转到不同的服务器,并且对于相同的数据,数据库将被命中两次.如果您有超过2台服务器,或者更多.这本身并不坏,但建议你继续关注它.如果数据库正在排队,则可能会取消运行Webfarm的好处.一如既往,基准测试,配置文件和运行测试.

解决这个问题的一种方法是使用粘性会话.这是一种基于路由器的方法.一旦建立了用户会话,来自该用户的所有请求都将路由到同一服务器.这有其缺点,最值得注意的是,负载平衡效率可能会降低,更不用说丢失服务器时的问题了.此外,它仅在您缓存主要用户特定数据(例如分页搜索结果)时才有用,这些数据仅在短时间内缓存.

另一种解决方案是具有分布式内存缓存,例如memcached,Velocity或NCache.还有其他一些,但这些是我合作过的.

要注意的另一件事与上述无关:您如何处理来自用户的文件上传.许多站点允许用户上载文件.如果以前没有将这些文件保存到中央存储,例如数据库或公共文件共享,则需要这些文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读