京东图书架构设计有感

实例:京东图书

  实例描述:2011年京东为了给其旗下京东图书造势,推出大幅度优惠政策,致使活动当天服务器崩溃,强东一怒之下又添了几台昂贵的服务器,然并卵,添加服务器之后不久,服务器再次崩溃~~(不争气的服务器),好吧,我承认是访问的人太多了。

  实例分析:软件架构设计出现了问题,没能很好的处理大规模用户的访问,造成了崩溃,还记得强东当时在文博发文说加3倍的服务器,然而,不改变架构,只是从表面上去解决问题,那么最终一定还是会导致崩溃(事实证明没错,加了之后又崩溃了)。

  其中,京东图书架构设计用的就是客户端-服务器架构模式,下面就从客户端-服务器架构模式的概念及优劣式进行分析:

        一、客户端-服务器模式定义

   定义:客户端-服务器模式(Client–server model)简称C/S结构,是一种网络架构,它把客户端 (Client) 与服务器 (Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。

   客户端-服务器模式由两部分组成:一个服务器和多个客户端。服务器组件将为多个客户端组件提供服务。

客户端从服务器请求服务,服务器为这些客户端提供相关服务。此外,服务器持续侦听客户机请求。

 

客户端-服务器架构设计图

  客户端-服务器使用效果:

  (1)可实现资源共享。C/L结构中的资源是分布的,客户机与服务器具有一对多的关系和运行环境。用户不仅可存取在服务器和本地工作站上的资源,还可以享用其他工作站上的资源,实现了资源共享。

  (2)可实现管理科学化和专业化。系统中的资源分布在各服务器和工作站上,可以采用分层管理和专业化管理相结合的方式,用户有权去充分利用本部门、本领域的专业知识来参与管理,使得各级管理更加科学化和专业化。

  (3)可快速进行信息处理。由于在 C/S 结构中是一种基于点对点的运行环境,当一项任务提出请求处理时,可以在所有可能的服务器间均衡地分布该项任务的负载。这样,在客户端发出的请求可由多个服务器来并行进行处理,为每一项请求提供了极快的响应速度和较高的事务吞吐量。

     (4)能更好地保护原有的资源。由于C/S是一种开放式的结构,可有效地保护原有的软、硬件资源。以前,在其他环境下积累的的数据和软件均可在C/S中通过集成而保留使用,并且可以透明地访问多个异构的数据源和自由地选用不同厂家的数据应用开发工具,具有高度的灵活性;而以前的硬件亦可完全继续使用,当在系统中增加硬件资源时,不会减弱系统的能力,同时客户机和服务器均可单独地升级,故具有极好的可扩充性。

       二、客服端-服务器模式的优势和劣势:

     (优势

     (1)创建权限

      在大多数情况下,客户机服务器体系结构允许的角色和责任的计算系统是其中几个已知只有通过网络互相独立的计算机分发。这将创建一个额外的优势,这种体系结构:提高维护的简便性。例如,它可以更换,维修,升级,甚至迁移服务器,同时它的客户都不知情,并保持该更改的影响。

     (2)所有数据都存储在服务器上

       通常比大多数客户更大的安全控制。服务器可以更好地控制访问和资源,以保证只有那些具有适当权限的用户可以访问和更改数据。

    (3)由于数据的集中存储,对数据的更新是更容易管理相比,一个P2P模式。在后者,数据更新可能需要分发和应用到每个网络中的对等,既费时又容易出错,因为可以有成千上万甚至数百万的同龄人。

    (4)许多成熟的客户端服务器技术已经可以方便的目的是确保安全,用户界面友好,易用性。

    (5)具有不同功能的多个不同的客户它的功能。

   (劣势

    (1)作为客户端同时请求数给定的服务器的增加,服务器可以成为重载。对照到一个P2P网络,在其总带宽实际上增加为节点的添加,由于P2P网络的总带宽可以大致计算作为该网络中每个节点的带宽的总和。

    (2)客户机服务器模式缺乏一个良好的P2P网络的鲁棒性。在客户端服务器,如果一个重要的服务器失败,客户的要求不能得到满足。在P2P网络,资源通常分布在许多节点。即使一个或多个节点出发,放弃一个下载文件,例如,剩下的节点应该还是有必要来完成下载的数据。

 

原文地址:https://www.cnblogs.com/somedayLi/p/11054514.html