赞
踩
C/S架构(即客户端/服务器模式)是一种比较早的软件架构,主要应用于局域网内。C/S结构是一种软件系统体系结构,这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、qq、王者荣耀等应用程序就是C/S结构。
C/S架构分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。
客户机——经过(Request)请求——服务器(即数据库)——数据库根据客户机的请求——进一步(Response)响应回去给客户机。
B/S架构(即浏览器/服务器模式)是C/S架构的一种改进,可以说属于三层C/S架构。B/S结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处理在服务端完成。节约了开发成本,维护和升级方式更简单,客户端是浏览器,基本不需要维护,只需要维护升级服务器端就可以。在手机或电脑上用浏览器上百度搜索、看新闻等就是在使用“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返回给客户端。
第三种:客户端-负载均衡器(Nginx)-中间服务器(Node)-应用服务器-数据库
这种模式一般用在有大量的用户,高并发的应用中;
(1)整正暴露在外的不是真正web服务器的地址,而是负载均衡器器的地址;
(2)客户向负载均衡器发起Http请求;
(3)负载均衡器能够将客户端的Http请求均匀的转发给Node服务器集群;
(4)Node服务器接收到Http请求之后,能够对其进行解析,并且能够调用应用服务器暴露在外的RESTFUL接口;
(5)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给Node;
(6)Node层将模版+数据组合渲染成html返回反向代理服务器;
(7)反向代理服务器将对应html返回给客户端。
Nginx的优点有:
1、它能够承受、高并发的大量的请求,然后将这些请求均匀的转发给内部的服务器,分摊压力.
2、反向代理能够解决跨域引起的问题,因为Nginx,Node,应用服务器,数据库都处于内网段中。
3、Nginx非常擅长处理静态资源(img,css,js,video),所以也经常作为静态资源服务器,也就是我们平时所说的CDN。
比如:前一个用户访问index.html, 经过Nginx-Node-应用服务器-数据库链路之后,Nginx会把index.html返回给用户,并且会把index.html缓存在Nginx上,
下一个用户再想请求index.html的时候,请求Nginx服务器,Nginx发现有index.html的缓存,于是就不用去请求Node层了,会直接将缓存的页面(如果没过期的话)返回给用户。
客户机浏览器——经过Http请求——Web服务器——经过查询——数据库服务器——响应查询后返回结果——Web服务器——再经过Http响应——返回给客户机浏览器。
1、数据交互方式
2、逻辑事务处理
3、工作原理
4、响应速度
5、成本
6、维护、升级以及扩展
7、信息共享
8、客户端界面
1、适用的网络
2、访问
3、数据库连接类型
4、功能
5、安全性
6、信息流向不同
7、对技术人员的要求
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。