当前位置:编程学习 > C#/ASP.NET >>

经典讨论:经常看到或者听说的问题,但不知道怎么实现,现在自己的项目中遇到了

经常看到或者听说的问题,但不知道怎么实现,现在自己的项目中遇到了

问题如下

一个大型的web:

多台服务
服务器1:作为web服务器
服务器2:作为MSSQL数据库服务器
服务器3:作为图片服务器

现在的问题是,我原来一直都是吧web服务器和数据库服务,图片都放在一台主机上,现在要这样分离

1)不知道怎么来解决,由于没得经验?
2)另外我不理解为什么要把数据库服务器分开,这样在对数据的访问不是更慢了嘛,难道还要远程处理数据?
3)图片服务器分离,那用户在上传图片的时候,那不是要写到另一台服务器(图片服务器),这样怎么做呢 ? --------------------编程问答-------------------- 咋没人帮我呢?呵呵。。 --------------------编程问答-------------------- 是为了减轻服务器的负担 所以放到多个服务器上处理 --------------------编程问答-------------------- 我以前做过这样的项目。
web服务器和数据库服务:
我觉得不就是在web服务器连接字符串那里改成远程数据库服务器的数据库不就完了吗?
图片服务器分离:
这也不就是在web服务器上定义一个常量代表远程图片服务器共享出来的目录吗?改成远程共享出来的目录,你操作都跟本地操作一样。

为什么这么分开:
因为这么分开数据安全点,具体我也说不太清楚 --------------------编程问答-------------------- 我已经追加分数了。。

希望得到更多的建议,最好是能详细点。谢谢各位了 --------------------编程问答-------------------- 我想WEB服务器和数据库服务器还是在同一网段.不同主机罢了.
--------------------编程问答-------------------- 服务器1:作为web服务器 
服务器2:作为MSSQL数据库服务器 
服务器3:作为图片服务器 

为什么要分开?

web服务器和数据库服务器分开,要看你的负荷中心主要在哪里,在web服务器还是在数据库服务器。如果是在web服务器,数据库仅作存储,那么分开的意义就性能而言就不是很大。当然,分开对于安全性还是比较好的,因为你的数据中心不直接暴露在外部,如果网络允许,完全可以在内部建立专用网络用于和数据库的交互。

为什么要把图片服务器分开?图片的存储与发送的数据量比较大,设置专用图片服务器,可以减少web服务器的总线带宽占用,减小web服务器的IO,提高响应速度。 --------------------编程问答--------------------
引用 6 楼 hxwangcong 的回复:
服务器1:作为web服务器
服务器2:作为MSSQL数据库服务器
服务器3:作为图片服务器

为什么要分开?

web服务器和数据库服务器分开,要看你的负荷中心主要在哪里,在web服务器还是在数据库服务器。如果是在web服务器,数据库仅作存储,那么分开的意义就性能而言就不是很大。当然,分开对于安全性还是比较好的,因为你的数据中心不直接暴露在外部,如果网络允许,完全可以在内部建立专用网络用于和数据库的交互。

为什么要把图片服务器分开?图片的存储与发送的数据量比较大,设置专用图片服务器,可以减少web服务器的总线带宽占用,减小web服务器的IO,提高响应速度。

补充:
1.web与数据库分离倒是容易;web与图片分离一般是绑定新的域名,访问量大的还做CDN加速,要有前期准备工作,否则网页上的图片地址都得改,最好是一开始写程序的时候就意识到了这个问题.
2.web与数据库分离是在服务器性能遇到瓶颈的时候做的事,如果CPU过高,内存不够用等等;一般是在分在同一个局域网,不会损失多少效率的;带来的好处就很明显了,如内存不足的时候会提高http并发数.
3.可以直接上传到图片服务器,也可以上传到web服务器,然后线程socket同步到图片服务器,web服务器当作备份. --------------------编程问答-------------------- 以上的各个回答都懂了,谢谢,其中一个问题不明白,请具体说明一下,如下:

3.可以直接上传到图片服务器,也可以上传到web服务器,然后线程socket同步到图片服务器,web服务器当作备份.


--------------------编程问答-------------------- 在上传文件的时候,将上传文件的目录直接使用虚拟目录,如果网络好,你可以直接将这个虚拟目录使用磁盘驱动器映射转到别的服务器去(当然会存在有一定的权限问题,不过这也不是啥麻烦事).如果网络不好,还是采用磁盘阵列来处理吧 --------------------编程问答--------------------
引用 8 楼 shaolin45 的回复:
以上的各个回答都懂了,谢谢,其中一个问题不明白,请具体说明一下,如下:

3.可以直接上传到图片服务器,也可以上传到web服务器,然后线程socket同步到图片服务器,web服务器当作备份.


直接上传到图片服务器上就行了,备份单独做,服务器都得做,如使用磁盘阵列(RAID5)或更高级的…… --------------------编程问答-------------------- 补充一点。
web服务器与数据库服务器的侧重点不一样,
web服务器因为要运行应用,所以一般更侧重CPU性能和内存容量,
数据库服务器则侧重于存储,以及数据的安全性,如RAID或SAN等。 --------------------编程问答-------------------- 这个可能对楼主有点启示。
http://www.cnblogs.com/Spring/archive/2008/08/21/1273551.html --------------------编程问答-------------------- 开始有点感觉了。
不过很多技术的确从未接触过。。理解起来比较空洞,抽象。

要是在上面提出的方案下给出一些比较详细的设计思路或者初略的伪代码就更好了。或者说更多的参考文献。。


再次感谢大家都帮助
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,