3个中国程序员 vs 3个美国程序员,差距太大了

大概是2009年,我和两个好哥们聊天,觉得智能手机可能是风口,商量着要弄一个照片分享网站。


用户可以用手机把随手拍的照片放到网上分享,名称都起好了,叫InstantPost。

可是我们的执行力太差了,聚了两次,做了一点儿技术验证,就没有下文了。

过了几年,我看到美国一个叫Instagram的火了,不由地一拍大腿:卧槽!这不就是我们当年要做的事儿吗?!



后来我看到Instagram初期的故事,他们也是三个程序员,从2010年10月到2011年12月,在一年多的时间内,就把用户数量从0增长到了1400万!

看完他们的架构设计,我就释然了,抛开执行力,在2009年那个时间点,我们确实不行。

Instagram制定的架构指导准则是:

1.保持简单

2.不要重新发明轮子

3.尽可能使用经过验证的可靠技术

所以早期的Instagram跑在云上,使用EC2和Ubuntu Linux 11.04。

接下来,站在一个用户会话(Session)的角度,来看看Instagram的处理过程。

前端

Session:用户打开了Instagram APP。

2010年,Instagram开发了一个iOS app,正式推出。


因为这时候Swift还没有发布,他们用了Objective-C,UIKit等技术。



负载均衡

Session:打开App后,会向后端发起一个请求(获取主界面的“信息流”),这个请求会首先到达Instagram的负载均衡。

Instagram 最早使用2个Nginx并在它们之间进行DNS Round-Robin,这种方法的缺点是,如果某一个机器出现故障,DNS的更新需要时间。

后来他们选择了Amazon的Elastic Load Balancer,这里有三个NGINX实例,可以换入换出。



[加西网正招聘多名全职sales 待遇优]
还没人说话啊,我想来说几句
上一页1234下一页
注:
  • 新闻来源于其它媒体,内容不代表本站立场!
  • 在此页阅读全文
     推荐:

    意见

    当前评论目前还没有任何评论,欢迎您发表您的看法。
    发表评论
    您的评论 *: 
    安全校验码 *:  请在此处输入图片中的数字
    The Captcha image  (请在此处输入图片中的数字)

    Copyright © 温哥华网, all rights are reserved.

    温哥华网为北美中文网传媒集团旗下网站