随着产品迭代与用户增长,很多项目底层的技术服务也经历着较大的转变,其中较核心的就是系统架构。
很多时候,系统架构的设计并不是一成不变,因此多了解外在的系统架构是很有必要的。
为了方便大家理解,特意整理了大型项目的架构设计经验集合,让我们看看这些知名的互联网产品是怎么进行架构设计的。
1.Twitter
Twitter从建立初期,就搭建了比较基础的系统架构,其主要业务线主要分为两种:一种是关注者发布的新动态,另外一种是你发布的动态被关注者所看到,和多数社区本质是一样的,每个用户都有相对个性的动态。
而网站在初期采用的也是经典的三层架构:表现层、数据层、逻辑层,除此之外,也加入缓存机制,主要是为了数据量的优化。
2.微博
09年推出的新浪微博,其初期的产品框架和twitter还是很类似的,业务线也没本质上去的区别。但随着产品形态的转变,微博在推荐系统上的架构也发生很大变化,着重突出用户关系与内容传播方面。同时不同内容的表现层也使用数据类型发生较大变化。
而在此发展过程的推荐系统的三个阶段:独立式1.0、分层式2.0与平台式3.0。
3.微信
除了基本的架构服务外,和社区模式不同的是,微信不存在关注与被关注者的信息,但会突出功能属性的并发,如摇一摇,漂流瓶等,同时更多在于群组多模式的消息类型(语音、图片等)。
基于腾讯良好的技术储备,微信更注重敏捷的流程,也就是反复验证迭代,找到有利的架构设计。微信架构设计的四大法器:大系统小做、让一切可扩展、要有基础组件、轻松上线。
4.知乎
知乎在14年开始就已经成为国内第三大的UGC社区(前两个为百度贴吧与豆瓣),每秒的并发也达到较高的数量。初期是用python搭建的后台,采用也是云主机的方式,这也是快速开发、节约成本的思路。
11年上线申请注册后,知乎开始扩散海量的用户,其本身的日志数量也发生较大的变化,而架构设计围绕的核心也在日志系统,主要表现在分布式、集中存储、实时等方面。
5.荔枝FM
荔枝FM也是在业务的变动不断改进自身架构策略,最终形成了“南北”向的机房分发。其实道理也很简单,数据的传输与实时性会列入架构设计的核心因素。
在其架构设计中,荔枝FM架构团队也经过了多次业务调研与分析,最终得到较稳定的系统。
6.京东
商品类的搜索模式与搜索引擎有很多相同之处,除了超高量的搜索频率外,京东也更注重用户的数据管理业务。而商品的分类也从单一的模式分为多项重组,可以说又有自己的业务特殊。
搜索类系统架构主分为:. 离线信息处理系统、索引系统、搜索服务系、反馈和排序系统。
7.1号店
1号店在起初阶段也是采用基本的三层架构业务,随后由于数据量的变动做了多次调整与优化。可以看到的是,充足的架构准备与对自身业务的深入分析使得服务逐渐稳定,更多的是对数据业务的拆分,这也是值得中小企业学习的一点。
8.滴滴
滴滴在业务初期,也并不是趋于系统完善的状态,时常出现宕机状况,这也导致其业务发展得较为缓慢。随后技术架构整体调整后,滴滴采用精简的方式支撑公司业务。
中后期的系统稳定性可以说是非常到位,可以看到的是,架构的设计也并不是机器越多越好,代码的优化与配置的合理高效应用也是关键因素。不得不承认其架构的成熟与强大。
总结随着互联网的飞速发展,系统架构会越来越受到重视,无论对于初创公司还是成熟的互联网公司,业务的“后勤保障”永远是重中之重,但没有一成不变的业务,因此需要时刻根据自家的产品现状不断调优~
关于:中科研拓
深圳市中科研拓科技有限公司专注提供软件外包、app开发、智能硬件开发、O2O电商平台、手机应用程序、大数据系统、物联网项目等开发外包服务,十年研发经验,上百成功案例,中科院软件外包合作企业。通过IT技术实现创造客户和社会的价值,致力于为用户提供很好的软件解决方案。联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com