1.2 互联网架构思维
互联网思维讲究“专注、极致、口碑、快”,下面从技术架构上对其进行解读。
(1)“专注”是指技术发展路线专注于行业发展方向,设计上要“高内聚、低耦合”。
专注意味着技术要与业务融合发展,业务与技术同等重要,只关心高大上的技术路线而不关心业务场景就是闭门造车。是业务驱动了技术的发展,脱离了业务的技术路线是无源之水。如电商领域和视频领域的技术路线是不一致的。
专注还意味着应用系统要“高内聚、低耦合”。这是架构设计的首要目标。高内聚是指模块内部的元素局部化,内部元素对外具有较强的隐蔽性,元素间关系紧密,高内聚可以使模块具备较高的可靠性、可重用性。低耦合是指软件系统结构中各模块间的联系紧密程度在一个较低的水平上,模块之间联系越紧密,其耦合性就越强,模块的独立性、扩展性则越差。
(2)“极致”是指互联网架构要对每个环节都做到极致的思考。
当一个互联网应用达到一定规模时,面对庞大的流量、海量的数据,需要将架构中从前到后的各个环节的性能、可靠性、扩展等指标涉及的问题考虑到极致。包括App端的架构、服务接入的架构,服务治理的架构、消息传递的架构、缓存架构、持久化的架构,每一层的架构都有很多细节,要把细节考虑好,研究到极致。与传统大型系统相比,互联网架构需要更大的伸缩性、更高的性能,更大的灵活性。
(3)“口碑”是指互联网架构一定要具备较高的可靠性和安全性。
这就要求架构的各个环节具有充分的冗余度。同时使用成熟的开源框架,不片面追求最强的功能或最新的技术。
(4)“快”是指互联网架构要满足快速开发迭代、快速诊断和部署的要求。
互联网的架构要灵活,还要避免过度设计,架构设计都要考虑成效比,一套高大上的系统,付出的代价也是巨大的。设计出能满足当前业务规模的架构,并预留较高的扩展能力,是架构师的核心能力。互联网架构要求具有更高的扩展性,互联网业务的发展变化极大,业务在从无到有、从小到大的发展过程中,技术架构要做到不需推翻重构,就能够完成适应性扩展。互联网业务的发展需要不断调整和适应用户的不同喜好,产品开发过程中要能快速开发出产品,不断迭代、持续集成,问题排查过程中要能够快速诊断,尽快发布。