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 待遇优]
还没人说话啊,我想来说几句
用户可以用手机把随手拍的照片放到网上分享,名称都起好了,叫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 待遇优]
| 分享: |
| 注: | 在此页阅读全文 |
推荐:



