asp.net实现负载均衡

468 查看

我的目标是我一个人搭建一个负载均衡网站。不接受这是网络部,或者运维,或者系统部的事情,所有事情都是我一个人来完成,包括掏钱,包括将来发展等等,同时也别告诉我有没有意义,just do  it !给我方案,给我方法。

拥有资源:不够可以买,多了可以先闲着。

现在我已经买了5台阿里云服务器,ip地址分别为

ip地址           名字简称   操作系统    iis服务器   cpu  内存DDR3   机械硬盘

111.13.101.204    ay1      window7    iis7     4核  8GB       1TB

111.13.101.205    ay2      window7    iis7     4核  8GB       1TB    

111.13.101.206    ay3      window7    iis7     4核  8GB       1TB

111.13.101.207    ay4      window7    iis7     2核  4GB       1TB

111.13.101.208    ay5      window7    iis7     2核  4GB       1TB

我买好一个域名:www.bd.com(已备案)

项目已经做好,用asp.net MVC4开发,  .netFramework4.5      项目名MyBD

项目首页是index.cshtml

项目结构WebSite\xxx

使用数据库sqlserver2014

我现在希望将项目发布多份,分别放在不同的服务器上,但是只能用一个域名 www.bd.com,我不是子域名主域名那种应用场景。

下来我想问,我该如何操作?

--------------------------------------------------------------------------------------------------

该文章题目也可以称为,如何将一个网站发布到两台服务器上,或者如何将一个项目发布到两个服务器上。 方便搜索引擎索引(改行文字)。

想先搭建一个负载均衡的架构,至于是否必要,是否浪费资源请不要考虑,但是可以考虑以后如何扩展。

希望更多人能看到,大家在评论里面给出自己的方案或建议。

我在百度搜索解决方案,有人的方案是,在HttpHandler中捕获到用户请求,然后从一组定以好的  跳转地址中随机选择一个,然后进行跳转

定义好服务器地址: static string [] servers= {" http://192.168.1.100/index.aspx" , "http://192.168.1.101.aspx"};

Response.Redirect(servers[DateTime.Now.Millisecond % 2]);这里这个随机算法,完全可以可以自己自定义,也可以借助数据库来进行,决定跳转到哪里。

这种方案是浏览器发送了两次请求,而且性能受这个拦截服务器的瓶颈限制。 这些是从大哥Luminji学来的。