天天看点

03Web服务器基础-3. 系统结构分析之C/S和B/S

一、C/S(Client Server)两层架构

1、C/S解析:

C是英文单词“Client”的首字母,即客户端的意思,S是英文单词“Server”的首字母,即服务器的意思;C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。

2、两层架构分别是:

第一层:客户端——表示层(界面层与逻辑层)

第二层:服务器模式——数据库层

3、C/S架构流程:

客户机——经过(Request)请求——服务器(即数据库)——数据库根据客户机的请求——进一步(Response)响应回去给客户机

在这里插入图片描述

4、C/S概念:

C/S结构是一种软件系统体系结构,这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、qq、王者荣耀等应用程序就是C/S结构。

二、B/S(Browser Server)三层架构

1、B/S解析:

B是英文单词“Browser”的首字母,即浏览器的意思;S是英文单词“Server”的首字母,即服务器的意思。B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式。

2、三层架构分别有:

第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能;

第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能;

第三层数据层:主要是接受客户端请求后独立进行各种运算。

3、B/S架构的三种形式:

第一种:客户端—服务器—数据库(常用模式)

(1)客户端向服务器发起Http请求

(2)服务器中的web服务层能够处理Http请求

(3)服务器中的应用层部分调用业务逻辑,调用业务逻辑上的方法

(4)如果有必要,服务器会和数据库进行数据交换. 然后将模版+数据渲染成最终的Html, 返送给客户端

第二种:客户端—Web服务器—应用服务器—数据库

类似于第一种方法,只是将web服务和应用服务解耦

(1)客户端向web服务器发起Http请求

(2)web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口

(3)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器

(4)web服务器将模版+数据组合渲染成html返回给客户端

第三种:客户端—负载均衡器—中间服务器—应用服务器—数据库

这种模式一般用在有大量的用户,高并发的应用中

(1)整正暴露在外的不是真正web服务器的地址,而是负载均衡器器的地址

(2)客户向负载均衡器发起Http请求

(3)负载均衡器能够将客户端的Http请求均匀的转发给Node服务器集群

(4)Node服务器接收到Http请求之后,能够对其进行解析,并且能够调用应用服务器暴露在外的RESTFUL接口

(5)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给Node

(6)Node层将模版+数据组合渲染成html返回反向代理服务器

(7)反向代理服务器将对应html返回给客户端