首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发

2012-12-24 
为什么很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发?子柳,淘宝打杂的 码农1140

为什么很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发?
子柳,淘宝打杂的 码农
1140 票,来自 黄景祥、徐宇哲、Tony leung 更多
就拿淘宝来说说,当作给新人一些科普。

先说你看到的页面上,最重要的几个:
【搜索商品】——这个功能,如果你有几千条商品,完全可以用select * from tableXX where title like %XX%这样的操作来搞定。但是——当你有10000000000(一百亿)条商品的时候,任何一个数据库都无法存放了,请问你怎么搜索?这里需要用到分布式的数据存储方案,另外这个搜索也不可能直接从数据库里来取数据,必然要用到搜索引擎(简单来说搜索引擎更快)。好,能搜出商品了,是否大功告成可以啵一个了呢?早着呢,谁家的商品出现在第一页?这里需要用到巨复杂的排序算法。要是再根据你的购买行为做一些个性化的推荐——这够一帮牛叉的算法工程师奋斗终生了。

【商品详情】——就是搜索完毕,看到你感兴趣的,点击查看商品的页面,这个页面有商品的属性、详细描述、评价、卖家信息等等,这个页面的每天展示次数在30亿以上,同样的道理,如果你做一个网站每天有10个人访问,你丝毫感觉不到服务器的压力,但是30亿,要解决的问题就多了去了。首先,这些请求不能直接压到数据库上,任何单机或分布式的数据库,承受30亿每天的压力,都将崩溃到完全没有幸福感,这种情况下要用到的技术就是大规模的分布式缓存,所有的卖家信息、评价信息、商品描述都是从缓存里面来取到的,甚至更加极致的一点“商品的浏览量”这个信息,每打开页面一次都要刷新,你猜能够从缓存里面来取吗?淘宝做到了,整个商品的详情都在缓存里面。

【商品图片】——一个商品有5个图片,商品描述里面有更多图片,你猜淘宝有多少张图片要存储?100亿以上。这么多图片要是在你的硬盘里面,你怎么去查找其中的一张?要是你的同学想拷贝你的图片,你需要他准备多少块硬盘?你需要配置多少大的带宽?你们的网卡是否能够承受?你需要多长时间拷贝给他?这样的规模,很不幸市面上已经没有任何商业的解决方案,最终我们必须自己来开发一套存储系统,如果你听说过google的GFS,我们跟他类似,叫TFS。顺便说一下,腾讯也有这样的一套,也叫TFS。

【广告系统】——淘宝上有很多广告,什么,你不知道?那说明我们的广告做的还不错,居然很多人不认为它是广告,卖家怎么出价去买淘宝的广告位?广告怎么展示?怎么查看广告效果?这又是一套算法精奇的系统。

【BOSS系统】——淘宝的工作人员怎么去管理这么庞大的一个系统,例如某时刻突然宣布某位作家的作品全部从淘宝消失,从数据库到搜索引擎到广告系统,里面的相关数据在几分钟内全部消失,这又需要一个牛叉的后台支撑系统。

【运维体系】——支持这么庞大的一个网站,你猜需要多少台服务器?几千台?那是零头。这么多服务器,上面部署什么操作系统,操作系统的内核能否优化?Java虚拟机能否优化?通信模块有没有榨取性能的空间?软件怎么部署上去?出了问题怎么回滚?你装过操作系统吧,优化过吧,被360坑过没,崩溃过没?这里面又有很多门道。

不再多写了,除了上面提到的这些,还有很多很多需要做的技术,当然并不是这些东西有多么高不可攀,任何复杂的庞大的东西都是从小到大做起来的,里面需要牛叉到不行的大犇,也需要充满好奇心的菜鸟,最后这一句,你当我是别有用心好了。



这是来自知乎的文章
[解决办法]
真正的技术,这些不是那些纠缠什么“编程语言”的人所能理解的。真正的技术在于实践,而不是抄别人的。

大部分初学者总是以为技术就是那些现学现卖、刚刚干一行时所知道的那一点东西,然后干时间长了,就成了流水线上的民工了。

是极限条件下需要不断“变来变去”地进行架构重构时,这个时候才会出现真正的架构。只想学点理论、靠读读别人博客就“学了技术”的人无法理解。
[解决办法]
已阅为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
广告,什么,你不知道?那说明我们的广告做的还不错,居然很多人不认为它是广告

这句话是说这个帖子吗?
[解决办法]


[解决办法]
看起来很复杂的系统一般都不需要很高端的人才就能完成。
[解决办法]
都是牛人呀
阿门
[解决办法]
为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
BOSS系统
=>
BOS系统
[解决办法]
看上去很忽悠人的样子。
[解决办法]

[解决办法]



引用:
看起来很复杂的系统一般都不需要很高端的人才就能完成。


很多都是大数据和高并发带来的。

[解决办法]
引用:

真正的技术,这些不是那些纠缠什么“编程语言”的人所能理解的。真正的技术在于实践,而不是抄别人的。

大部分初学者总是以为技术就是那些现学现卖、刚刚干一行时所知道的那一点东西,然后干时间长了,就成了流水线上的民工了。

是极限条件下需要不断“变来变去”地进行架构重构时,这个时候才会出现真正的架构。只想学点理论、靠读读别人博客就“学了技术”的人无法理解。
      ……

顶大神一记
前排占座
[解决办法]
高并发量,淘宝的确牛,
双十一的时候,
系统跑起完全没问题,到时银行的支付通道出问题了
我现在担心,过年回家抢得到票不,
[解决办法]
为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
望而观止为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
中国牛人从来不少但是。缺的是好的环境让他们发挥。中国的老板比国外的老板还要心急。。。。我见过很多项目都是做得一塌糊涂的叫过去居然也收了。这有什么办法呢。。。。。。
[解决办法]
不懂但觉得厉害为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
什么很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发?
而这些顶尖高手为什么都不用.NET呢?

为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
我就还在纠结语言...希望早日走出现在的状况
[解决办法]
在高并发、高可用的时候尤其需要!
[解决办法]

[解决办法]
任何复杂的技术都有一个朴素的原理,只要你认真思考,你就是顶尖高手。
不要神话这些高手,其实就是些善于思考的普通程序员。
[解决办法]
看了很受启发
[解决办法]
你淘宝居然说不复杂,不知道还有什么网站比淘宝复杂了。。。。
光淘宝的UI就够复杂了,还不谈系统
[解决办法]
为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发如此如此~这般这般~
[解决办法]
标记一下哦~
[解决办法]
只是一份工作 何必纠结
[解决办法]
引用:
什么很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发?
而这些顶尖高手为什么都不用.NET呢?
这些网站扛不住winserver的高频宕机
[解决办法]
踏实下来,慢慢前行的好!
[解决办法]
为什么很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发?

这个文章作者的中文表达能力真烂,我读着这标题就觉得拗口!~请作者说一说哪个程序员说过facebook,淘宝是简单的网站?
[解决办法]
帮顶。。。。。。。。


[解决办法]
学习了。为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发
[解决办法]
公开淘宝源代码
[解决办法]
为何很多看起来不是很复杂的网站比如 Facebook、淘宝,需要大量顶尖高手来开发复杂的系统就要考虑整个系统的整体架构了,包括楼主说的分布式数据存取,服务器集群等一系列技术。

热点排行