系统层次划分
任何一个系统按照逻辑部署维度都可以划分成应用层与基础设施层,开发的应用软件还有使用第三方的应用可以抽象成一些组件的集合,为了运行这些组件需要基础设施层来提供支撑,基础设施层有物理机、存储、虚拟机、容器这些元素。
基础设施层中最基本的是物理机,随着技术的发展慢慢出现了虚拟机和容器。
我们先来看看基础设施架构的演进。
基础设施架构演进
基础设施架构不是一步到位的事情,是需要循环渐进不断完善,随着系统复杂度的提升和业务发展不断的演进。接下来我们以Ngnix+web+db这样最基础的架构看看一个系统的基础设施从简单到复杂的演变的过程:
一台主机运行多个组件
在系统上线初期用户量比较小,对系统的可用性要求也比较低。这样我们可以将所有组件都部署在一台主机上。
一台主机运行一个组件
随着系统业务发展,系统有了性能方面的要求,这时候就需要独立部署,一个组件部署到一台机器上,每台机器的配置也不尽相同,比如数据库和web服务器配置会更高点。