客户端-服务器模式的认识
对于客户端-服务器模式的认识和举例:
服务器进程:
它接受一个来自客户端的请求的过程。获得来自客户端的请求后会处理所需的收集所需的信息,将其发送到请求客户端。一旦这样做完成后,就又变成准备为另一个客户端。服务器进程始终等待准备用于处理传入请求。
实例: Web服务器一直等待来自互联网浏览器的请求,并尽快得到任何请求从浏览器,它拿起一个请求的HTML页面,并把它发送回该浏览器。
注意,客户端需要知道的存在服务器的地址,但是服务器并不需要在建立的连接之前知道客户端的地址。一旦建立连接后,双方都可以发送和接收信息。
客户端进程:
这是一个过程,这通常使得信息请求。得到回应后,这一过程可能会终止或可能会做一些其他的处理。
例如: 互联网浏览器作为一个客户端应用程序,Web服务器发送一个请求到得到一个HTML网页。
客户端-服务器模式的特定场景与面临的问题以及解决方案和实例
特定场景:大量用户访问如何进行优化客户端海量资源
一个问题:资源不对等,如何实现资源共享
解决方案:
1 增加服务器数量
2 优化数据库-连接池访问数
3 二层发展成三层-中间件筛选过滤
4 优化客户端,服务器处理完后0.06秒已已经处理完,已传输到了但在5秒客户端才显示。
5 中间加队列,减少数据库的压力
二.举个例子:
实例:京东图书
实例描述:2011年京东为了给其旗下京东图书造势,推出大幅度优惠政策,致使活动当天服务器崩溃,强东一怒之下又添了几台昂贵的服务器,然并卵,添加服务器之后不久,服务器再次崩溃~~(不争气的服务器),好吧,我承认是访问的人太多了。
实例分析:软件架构设计出现了问题,没能很好的处理大规模用户的访问,造成了崩溃,还记得强东当时在文博发文说加3倍的服务器,然而,不改变架构,只是从表面上去解决问题,那么最终一定还是会导致崩溃(事实证明没错,加了之后又崩溃了)。
三.客户端-服务器模式的优势和劣势
优势
1.在大多数情况下,客户机服务器体系结构允许的角色和责任的计算系统是其中几个已知只有通过网络互相独立的计算机分发。这将创建一个额外的优势,这种体系结构:提高维护的简便性。例如,它可以更换,维修,升级,甚至迁移服务器,同时它的客户都不知情,并保持该更改的影响。
2.所有数据都存储在服务器上,通常比大多数客户更大的安全控制。服务器可以更好地控制访问和资源,以保证只有那些具有适当权限的用户可以访问和更改数据。
3.由于数据的集中存储,对数据的更新是更容易管理相比,一个P2P模式。在后者,数据更新可能需要分发和应用到每个网络中的对等,既费时又容易出错,因为可以有成千上万甚至数百万的同龄人。
4.许多成熟的客户端服务器技术已经可以方便的目的是确保安全,用户界面友好,易用性。
5.具有不同功能的多个不同的客户它的功能。
劣势
1.作为客户端同时请求数给定的服务器的增加,服务器可以成为重载。对照到一个P2P网络,在其总带宽实际上增加为节点的添加,由于P2P网络的总带宽可以大致计算作为该网络中每个节点的带宽的总和。
2.客户机服务器模式缺乏一个良好的P2P网络的鲁棒性。在客户端服务器,如果一个重要的服务器失败,客户的要求不能得到满足。在P2P网络,资源通常分布在许多节点。即使一个或多个节点出发,放弃一个下载文件,例如,剩下的节点应该还是有必要来完成下载的数据。