大型网站架构设计图

  • 2008-04-09 08:17:50 eveapple

    C# 适合用来开发网站吗?

  • bigqiang

    2008-04-15 02:24:36 bigqiang

    C#当然适合网站开发,是ASP.NET的主要开发语言之一。

  • shawnliu

    2008-08-27 17:03:26 shawnliu (大片周:消灭历史遗留大片)

    lz有这个经验么 看不出来 .net看做什么网站 myspace算是一个特例

  • 简单

    2008-08-27 17:12:30 简单

    挺郁闷的,都说asp.net不适合做面向多用户的网站

  • 2008-08-27 20:25:25 天堂之梦

    ^_^
    事实上用C#语言的Asp.net在所有开发语言中(包括PHP,JSP)的速度是最快的,当然偶说的是优化过后,不包括拖放了大量服务器控件的Asp.net网站。
    在之前说用Asp.net不适合做动态内容过多的网站是因为Asp.net配套的数据库SQL2000无法集群,就连做Master-Slave都不稳定,也没有数据分区,因为动态网站的压力会集中在数据库上,数据库这一环始终是瓶颈。不过这个问题在SQL2005 SP1出来以后基本上就解决了。
    然后最主要的原因是之前Asp.net没有自己的分布式缓存,而PHP跟JSP的平台上都有成熟的分布式缓存程序了,内存式比较著名的是Memcached,,缓存用户对数据库的查询,这样子能够大大减轻数据库的压力,如果动态网站的每一次请求都要去查询数据库的话,无论用什么语言写的网站,用户量稍微大一些系统就会崩溃的。
    事实上Asp.net自己的Cache机制也还算比较完善的,只不过只能单机使用,不过与其他语言的程序员不同,貌似Asp.net的程序员,并没有多少人去关注缓存。而缓存基本上是PHP程序员的基本知识,不过的确,选择Asp.net的程序员很多时候都是因为方便开发,很多功能有现成的控件可以用,但这样对于大型网站来说,的确是相当损耗性能的说,而且习惯了使用服务器控件,技术也会退步的说。
    事实上Asp.net也是可以使用Memcached的说,大型的Asp.net网站几乎都在使用的说,呵呵,而且微软最近也发布了代号为VeloCity的.net平台下的分布式缓存工具,而且VeloCity还能保存Session,目前还是CTP1版本,很让人期待的说。

    ^_^
    如果优化程序执行效率,采用分布式缓存并尽量提升缓存命中率的话,C#版的Asp.net是绝对比PHP要快的,跟JSP相比,也会快上一些,至少是持平,但是MsSQL数据库是要钱的说,运行IIS的服务器操作系统也是要米米的说,而且很贵,而基本上PHP+MySQL几乎可以说是免费的。

  • 2008-08-27 20:39:12 天堂之梦

    不过有一点,.net平台上C#程序跟Asp.net web服务结合得非常好,所以要开发线下程序跟网站结合的平台时,.net还是相当适合的,开发效率高,执行效率也比其他语言要好不少,所以偶目前也在用.net的说,呵呵。
    目前的.net3.5 + SQL 2005除了要许可要很多米米,还有开源组件缺乏,很多功能都要自己开发或者花钱买之外,应该就没什么缺陷了,^_^

  • 无言

    2008-08-27 21:24:32 无言

    语言不是一个网站发展的瓶颈....

  • 2008-08-27 22:48:49 天堂之梦

    ^_^
    同意LS的,呵呵
    只要项目前景足够好,要找到技术高手加入还是不难的说。
    如果没什么人气的话,普通程序的性能也足够用了,呵呵

  • backer

    2008-08-28 09:40:05 backer (...)

    学习了!

    语言有可能成为一个网站发展的瓶颈 因为这句话里面没有说语言的范畴!

  • bigqiang

    2008-09-17 23:55:05 bigqiang

    一、.NET平台上开源项目也是很多的,可以去微软专门的开源网站codeplex。而且微软在开源上投入的会越来越多。

    二、在Web2.0方面比较上规模的网站采用微软方案的确实很少。微软的Windows Server 2008 单CPU许可企业版要在2万以上,SQL Server 2005单CPU许可的企业版要20万以上。对于一个创业者而言投入确实较大,架设一台服务器的开销都很大。

    三、对于大型网站发展而言,语言已经不是重要的问题,重要的是架构。需要考虑如何负载均衡、如何纵向和横向的扩展。

    四、虽然语言对大型网站而言不是最重要的问题,但是选择合适的语言确实对建设大型网站很有帮助的。举例而言:如果选择php会有广泛的源码支持和很多配套的从低端到高端的成熟解决方案,如果现阶段选择Ruby,那么在很多时候需要自己独立面对很多问题,Twitter就是一个例子,在较长一段时间里Twitter面对用户的快速增长方面都表现的力不从心。采用一个稳定成熟的语言对未来很有帮助。这个稳定成熟是指有丰富完善的文档支持,有广泛的相关资源支持。象douban采用的是Python,Google似乎对该语言情有独钟,API优先提供Python编程接口,对未来资源的跨站整合很方便。还有就是成本问题。通常聘请采用微软平台下编程的工程师薪资成本要低于Linux平台。这也是微软经常爱提的TCO概念。

    好久没上来发言了,对以上一些说法做一个回应总结。

  • 且歌

    2008-12-17 23:30:29 且歌 (deadline)

    asp.net可以通过mono运行在linux上,而且已经有大型系统在用了。

    数据库可以使用mysql,官方提供了.net的连接库


    看上去也不错吧 呵呵

  • masin

    2008-12-19 10:07:59 masin

    恩,通过momo在linux是可以运行linux,但对于大型应用来说,这个还是有问题。
    话说回来,对于大型应用,语言只是实现的工具,重要的是你的架构设计是否合理。

  • 且歌

    2008-12-19 13:27:59 且歌 (deadline)

    楼上也用.net吗?

  • 段

    2008-12-26 15:33:06 (禁烟禁酒禁豆瓣,防火防盗防优酷)

    试看一看机房里到处的MS SQL。有几个有许可的?

  • 且歌

    2008-12-26 18:06:20 且歌 (deadline)

    小打小闹微软不理你,大一点就要发律师函了,除非根本就没打算做大。。。

  • sure

    2009-02-08 09:59:01 sure (问:你有谱吗 答:没有)

    .net的灵活性相对比较高,桌面和web都能做,现在就是看微软更定向哪个面了,做纯web,用php可能要强大点,个人意见

  • sure

    2009-02-08 09:59:36 sure (问:你有谱吗 答:没有)

    mysql好像也有了商业版

  • sure

    2009-02-08 10:02:14 sure (问:你有谱吗 答:没有)

    用.net做网站在架构方面下的成本要更高

  • 2009-03-02 14:42:42 云云

    .net也越来越往动态语言靠了。

  • 过不了1111鸟

    2009-03-05 22:12:29 过不了1111鸟

    我是来拜以上大牛的,做几年WEB了,一直是小打小闹,杂就没个大型拿给我也练一下手呢....

  • colin

    2009-04-06 12:27:37 colin

    语言不是问题

    ------------
    《构建高性能Web站点》读者讨论组
    http://groups.google.com/group/highperformanceweb

  • 账本人生

    2009-07-24 09:43:25 账本人生

    正如楼上所说,语言不是问题。整体架构很重要。有一个好的架构,后期开发就好多了。

  • 茴香饺子

    2009-07-24 10:13:36 茴香饺子

    娃哈哈,多大的网站算是大网站,大的网站不会被限制死撒

  • wendroid

    2009-08-02 01:04:43 wendroid (涨工资!!)

    静态用lighttpd不错

    动态还是nginx更适合,也更稳定

    至于节约成本的asp.net,玩到后面摊子铺开就有得爽了

    到时候就知道哪个更省钱了

  • newfish

    2009-08-02 01:40:19 newfish (浮世多拙意,算计总失机)

    能否更详细点

  • 刘理志

    2009-12-23 13:26:29 刘理志 (关注开源)

    我看了下这个,觉得这个完全是硬件和设备在堆出来了,意义不太大。。。

  • 博客教主

    2010-03-23 11:11:33 博客教主

    在硬件相同的情况下,软件架构方面我还是推荐LAMP(apache的优势在于扩展功能强大!)或LNMP(nginx的优势在于高并发性能超强,但扩展功能不如apache。)

  • 博客教主

    2010-03-23 11:17:45 博客教主

    如果确实要用asp.net,数据库建议用mysql或oracle代替sql server,个人认为sql server是这三个主流数据库里面性能最差的!

  • 博客教主

    2010-03-23 11:21:50 博客教主

    2009-12-23 13:26:29 刘理志 (关注开源) 我看了下这个,觉得这个完全是硬件和设备在堆出来了,意义不太大。。。

    你可能没接触过大型网站的运维吧。只要日pv上了100万以上的中型网站。如果web软件方面不做优化,无论多好的硬件机器,一段时间后一样会出现性能问题!

  • 博客教主

    2010-03-23 11:36:03 博客教主

    2008-12-17 23:30:29 且歌 (deadline) asp.net可以通过mono运行在linux上,而且已经有大型系统在用了。

    这个确实可以,但是用微软的产品运行在linux平台上,很不安全。至少心里感觉不安全!

  • 张凤

    2011-11-14 16:04:05 张凤

    mark


这个小组的成员也喜欢去  · · · · · ·

数据挖掘
数据挖掘 (5130)
D2前端技术论坛
D2前端技术论坛 (1380)
搜索引擎
搜索引擎 (640)
智城Taskcity—软件项目外包
智城Taskcity—软件项... (588)
建立属于自己的网站
建立属于自己的网站 (2661)
css禅意花园
css禅意花园 (2234)