1.3.1 分布式概念
1.集中式技术
在了解分布式技术(架构)之前,需要先了解一下与之相关的集中式技术。集中式是指将一个系统所有的代码都集中到一个项目中,同时将整个项目部署到一台主机上的架构方式。
由于历史原因,集中式技术多数用在传统的金融、电信等领域,计算资源基本上分布在大型机/小型机上,而且在这些机器上运行的软件大多是“商用闭源”软件。例如,在“IOE”集中式架构中,使用 IBM 的服务器、Oracle 的数据库和 EMC 的存储产品提供计算、数据库、存储等服务。虽然采用集中式技术(架构)有项目部署简单、管理成本低等优势,但是其也存在以下劣势。
① 价格昂贵:集中式架构的商用设备市场已被IBM、Oracle和EMC这3家巨头公司垄断,其软硬件十分昂贵。
② 自主安全性低:由于市场被商业巨头垄断,造成软硬件技术封锁,对使用集中式技术的企业来说,根据其业务的要求进行相应修改的难度非常大。
③ 扩展伸缩性差:对于急速增长的业务,如电商领域,需要去支撑其流量突发性强、高并发业务时,使用之前的设备配置已经满足不了激增的业务对底层资源的需求,这时,如果企业要增加相应的资源配置,在采用集中式技术的情况下,只有去购买更高规格的配置,才能支撑业务的发展。
④ 灵活兼容性差:集中式技术无法支撑大数据、人工智能等新兴技术的发展。
2.分布式概述
分布式是指根据业务需求将系统拆分成多个子系统,多个子系统之间进行协作来完成业务流程。一般来说,子系统会部署在集群中不同的服务器上面。以一个餐厅厨房的运作为例,集中式就好比一个人完成从食材的采购、食材的清洗加工到将加工好的食品端到客户面前的所有工作,如果客户增加,就需要雇佣更多的人,这些人的工作和第一个人的工作完全相同;而采用分布式技术,就是对食材的采购、食材的清洗加工和将加工好的食品端到客户面前等工作进行分工,每个人负责不同的部分,当客户增加时,可以增添相应数量的人完成不同的工作。
分布式这一理念的提出,主要是因为移动互联网的发展导致企业客户群体从传统的面向企业(to B)向面向用户(to C)转变。面对海量的移动互联网用户,企业采用传统的集中式已经满足不了其业务需求,采用分布式技术更有利于业务发展。
采用分布式技术有以下优点。
① 降低业务之间的耦合度:因为拆分成不同的子系统,不同的子系统之间通过接口进行通信,从而实现业务之间的解耦。
② 灵活的部署方式:可以对业务进行灵活的部署,不再受硬件等方面的限制和要求。
③ 对业务进行灵活的开发:拆分的子系统可以由不同的研发团队负责,同时,如果业务方面有新的需求,可以快速进行开发并上线。