转载地址:http://www.cnblogs.com/Mainz/p/3219224.html
用Java的大网站很多(LinkedIn,淘宝),当然用LAMP(PHP+MySQL)的更多(Facebook是把PHP转成C++编译的,也算),用ASP.NET也有一些(如*,CSDN,京东)。其实高并发的大网站架构和具体的语言没有啥大关系。针对高可用、可扩展的、高可伸缩性的、异步、解耦、面向服务的、分而治之的架构设计才是关键。操作层面来说,分布式文件系统、异步消息系统、分布式缓存系统、数据库的水平垂直分割分库分区分表甚至NoSql、反向代理、CDN、负载均衡设计、高可靠性异步消息队列,Hadoop,等等,这些都是和语言没有关系的,统称“分布式系统架构”。当然,语言和生态环境绑定,比如,选择了ASP.NET就绑定了微软的服务器和数据库。所以语言的选择还是需要考虑很多其他的方面,比如团队的熟悉程度、有没有好用的IDE、有没有内存诊断工具、容易找到开发人员吗、社区技术支持、成本如何、是否易于管理等众多因素。扯远了。
先说说淘宝的Java架构吧,淘宝最早是LAMP架构,后来转Java了,具体的原因是这个;关于淘宝的架构演化,可以看这个文章;关于支付宝的SOA架构,可以看这个视频。
再说说LinkedIn架构把,用到这些Java框架和技术:
系统架构(面向服务):
2006年那时候的架构:
选择Java的原因: