~ 幕客小伙伴们,今天給大家介绍下运维部署常见的架构模型,以及他们的演变过程。你所接触的站点用的什么部署模型呢??
**
一、常见的网站部署架构模型**
一、 单机集中式
1.1 什么是单机集中方式?
单机-单个独立的系统实例化部署,也就是把所有的应用都堆积到一个实例上,实例常指:单个主机或者单个vps。
集中式-集中的什么?集中的应用(Application)、文件(DATA)、数据(File)。
Application 包括一部分 app server 和应用程序代码。
File 常指静态类型的文件,后缀常见如:
DATA 数据,我们可以通过文件存储 也可以通过Database来存储
1.2、 常见的集中化部署架构模型(当然也常见在多机模式下),如下:
如:LAMP=Linux+Apache+Mysql+PHP
LNMP= Linux+Nginx+Mysql+PHP
Linux + Tomcat + Oracle + JAVA
Linux +Nginx + Tomcat + JAVA + Oracle
1.3、优缺点
优点:1、简单-部署简单 2、成本低廉(时间、硬件投入、人员等等)3、访问延迟
缺点:1、单机风险 2、性能瓶颈短板 3、可靠性弱
二、多机器分层服务化部署
分层服务化部署
2.1、 水平拆分与垂直拆分
什么是水平拆分?应用层+数据层 =》应用层+服务层 + 数据层 or 代理层 + 应用层 +服务层 +数据层 or 应用层 + 服务层 + 数据缓存层 + 数据层
什么是垂直拆分?
将一个单一业务系统,按照业务逻辑关系拆分成多个子系统。一方面、有助于软件维护。另一方面、提高整体业务的并发处理能力和功能扩展。
2.2 从集中模式分层拆分应该注意什么
1、应用建议与数据隔离
2、应用与数据连接交互增多,对网络要求极高,建议集中在内网模式。
2、服务器硬件选型,数据库的IO交互 程序处理逻辑集中决定需要更多的计算量
3、着重设计数据库存储引擎、数据库表结构等,数据库的维护成本较高。
三、 分布式架构部署
由于垂直业务越来越多,业务间的交互变得繁杂,业户系统中存在重叠的业务,重复造了多个轮子。
思想:将各系统平凡需要调用到的接口单独抽离出,作为单独的系统对外提供服务。
3.1 大型分布式系统架构
1)特点:
(1)高并发、大流量:PV量巨大
(2)高可用:7*24小时不间断服务
(3)海量数据:文件数目分分钟xxTB
(4)用户分布广泛,服务分机房部署:网络情况复杂:网络运营商
2)目的:
经过分层和分割处理后,可以使更多的计算机可靠的完成同样的功能。
3)带来的缺陷:
(1)数据调用延迟:由于必须通过网络进行调用,在网络介质中的传输延时可能导致性能问题。
(2)由于服务器增多,导致延机,从而降低整个系统的可靠性
(3)数据的一致性出现困难,尤其对于对数据要求实时性很高的应用,分布式的事务处理起来也会比较费劲。
(4)错综复杂的网络、应用环境增加维护和管理成本。****
典型架构图示如下:
欢迎大家继续关注我在imooc的文章 ,Jeson[jeson@imoocc.com].