未来架构丨互联网架构变迁:集中式→分布式→云原生架构

本文节选自《未来架构:从服务化到云原生》一书,张亮、吴晟、敖小剑、宋净超合著,由电子工业出版社博文视点出版,已获得授权。本书对快速演进中的云原生数据架构、典型分布式数据库中间件进行了剖析,重点介绍Service Mesh等新兴概念,创新性地提出了Database Mesh的理念,深度揭秘Apache项目——ShardingSphere,精彩内容层出不穷,知识概念全然领先一代。


<以下为正文>



互联网架构变迁——核心问题


信息技术从出现伊始到渐成主流,其发展历程经历了软件、开源、云三个阶段。从软件到开源,再到云,这也是信息技术的发展趋势。


1.软件改变世界


纵观人类社会漫长的发展历程,农耕时代、工业时代与信息时代可谓三个明显的分水岭,每个时代都会出现很多新兴的领域。作为信息时代最重要的载体,互联网越来越成为当今社会关注的焦点,互联网的基石之一——软件,正在迅速地改变着这个世界。


2.开源改变软件


随着软件行业的成熟,相比于“重复造轮子”,“站在巨人的肩膀上”明显可以更加容易和快速地创造出优秀的新产品。随着开源文化越来越被认可,以及社区文化越来越成熟,使用优秀的开源产品作为基础构架来快速搭建系统以实现市场战略,成了当今最优的资源配比方案。


3.云吞噬开源


仅通过开源产品搭建并运维一个高可用、高度弹性化的平台,进而实现互联网近乎100%的可用性,难度可想而知。因此,在提供技术思路的同时,进一步提供整套云解决方案以保障不断扩展的非功能需求,便成了当今新一代互联网平台的追求。


在信息技术的大潮中,每一次通信模式的升级都会给这个世界的合作模式带来变革。


随着互联网在21世纪初被大规模接入,互联网由基于流量点击赢利的单方面信息发布的Web 1.0业务模式,转变为由用户主导而生成内容的Web2.0业务模式。因此,互联网应用系统所需处理的访问量和数据量均疾速增长,后端技术架构也因此面临着巨大的挑战。Web 2.0阶段的互联网后端架构大多经历了由All inOne的单体式应用架构渐渐转为更加灵活的分布式应用架构的过程,而企业级架构由于功能复杂且并未出现明显的系统瓶颈,因此并未跟进。后端开发不再局限于单一技术栈,而是越来越明显地被划分为企业级开发和互联网开发。企业级开发和互联网开发的差别不仅在于技术栈差异,也在于工作模式不同,对质量的追求和对效率的提升成了两个阵营的分水岭,互联网架构追求更高的质量和效率。


随着智能手机的出现以及4G标准的普及,互联网应用由PC端迅速转向更加自由的移动端。移动设备由于携带方便且便于定位,因此在出行、网络购物、支付等方面彻底改变了现代人的生活方式。在技术方面,为了应对更加庞大的集群规模,单纯的分布式系统已经难于驾驭,因此技术圈开启了一个概念爆发的时代——SOA、DevOps、容器、CI/CD、微服务、Service Mesh等概念层出不穷,而Docker、Kubernetes、Mesos、SpringCloud、gRPC、Istio等一系列产品的出现,标志着云时代已真正到来。


互联网应用的业务特征决定了它和企业级应用具有诸多不同,具体来说,主要有以下几点:


  • 海量用户


互联网应用几乎无差别地为全世界所有的用户提供服务,与服务于局域网用户的企业级应用相比,其用户量要大得多,由海量用户产生的数据量自然也会呈几何级增长。


与日常生活中的真实场景不同,在网站用户量超过应用负荷的阈值之前,互联网用户不会明显感受到由用户量增长所导致的服务质量下降。举一个简单的例子,当我们去商场购物时,如果只有10位顾客在场,所感受到的环境舒适度、所享受的服务质量,以及等待时间,与有100位顾客在场时肯定会有很大的不同。而在网上购物时,有10位用户同时购买与有100位用户同时购买,我们几乎感受不到任何差别。但用户数一旦超过了网站应用所能够承载的阈值,比如1000万人同时购买,那么整个网站在处理不当的情况下便会完全失去响应,如果处理得严重不当,还会导致用户交易数据丢失,最坏的情况是部分用户付款之后却不能收到商品,且投诉无门、查无对账。


互联网应用对于用户量的预估远远没有企业级应用那么准确,在业务发展迅速的情况下,用户量的增长是爆发性且没有上限的。


  • 产品迅速迭代


随着业务模式的快速拓展,互联网应用功能推陈出新的速度也越来越快。在当今这个节奏如此快的时代,时间成本显得非常关键。敏捷地探知市场需求并将其实现,是互联网行业的立命之本。产品快速升级必然会推动开发、测试、交付甚至系统迅速迭代。


  • 7×24小时不间断服务


互联网应用是一个面向全球的服务应用,由于具有时区差异,因此应用必须保证全天随时可用。


各种意外情况,如光缆挖断、机房失火等,都可能对系统的可用性产生影响,每次宕机都会造成很大的损失。另外,如果系统设计得不够健壮,对其升级和维护时就要停止服务。频繁的系统升级同样会对系统可用性产生很大的影响,而互联网公司每天多次进行应用上线是很常见的行为,发布常态化已渐渐成为互联网行业的标准。


<

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值