一、定位
不管你是开发、运维、还是 DBA,数据库都是最熟悉不过了,不过对于我这个运维小白来说,仅仅熟悉数据库的安装部署。
我们熟知的网站应用架构:如 LAMP、LNMP 架构,其中的 M 就代表 MySQL 数据库,这类网站架构发展至今已经算是很成熟了,目前国内的中大小型公司几乎都在沿用这类应用架构。而 MySQL 又在这类网站应用架构中扮演什么角色呢?
一般地,MySQL 数据库(不局限于 MySQL 数据库)位于整个软件架构的后端,而不向用户直接对外提供服务,至于用户前端看到的展示数据都是由架构中的其他层来实现的。
二、架构
比较流行的软件架构可分为:双层
、三层
和多层
架构。
-
双层架构
双层架构
就是客户端直接和数据库服务器通信,如通过 ODBC、JDBC 连接数据库,我们一般称之为双层架构
或client server
架构。 -
三层架构
三层架构
就是在双层架构的基础上增加了一层,我们称该层为中间层
,即该层处于客户端和数据库之间。其主要工作是负责接收客户端的请求,并将客户端的请求转发给数据库服务器,我们称这种架构为三层架构
,常见的中间层服务如 Nginx、Tomcat 等。 -
多层架构
在较大规模的网站应用中,
web
中间层和数据库服务器之间可能还存在其他应用服务器,我们称之为多层架构
。