zoukankan      html  css  js  c++  java
  • 日常2018/4/9---b/s和c/s架构分别是什么?区别?

    b/s和c/s架构分别是什么?区别?

    c/s架构是什么,有何特点?

    前言:一般系统都由三部分组成:‘表示层,功能层,数据层’。其中表示层是和用户进行交互的;而功能层是对事物进行处理数据运算;数据层进行数据查,改,存储等操作。

    这里说的c/s架构一般是指client-server的两层c/s架构;客户端在整个架构中负责表示层和功能层任务,除了可以负责和用户交互事物的运算和数据存储,后端服务器负责数据层任务。极大程度上共享了用户终端的资源;实现了胖客户端;瘦服务端的效果。

    c/s架构特点

    • 开发者成本高:程序的适配性差;需要针对不同环境开发不同系统版本;开发成本高;维护扩展困难。实现client和server数据同步统一需要做针对性处理。
    • 性能优良:共享终端的资源;因此响应速度较快,性能优势明显,但是扩展性较差,不适合大型分布式架构。
    • 用户使用成本高:使用成本高;使用需要安装,升级;但多进程功能更丰富,界面效果号。
    • c/s服务端更安全:服务端压力较小有客户端分担事物;数据存储管理透明,公开度低。用户参入度小,有专人管理。和服务端直连,点对点模式更安全,直连响应速度快,大数据通信时不易堵塞。
    • 数据安全:数据分布式存储;单个集团数据一旦出问题会影响总的数据同步,安全性差,且单集团数据一旦同步异常会导致整个数据一致性出现问题。程序响应慢,数据无法实时处理,一旦需要升级或优化,需要对所有节点都进行重新部署。

    缺点:

    1. 客户端适配性差,针对不同系统需要开发不同版本,成本高,维护扩展困难。
    2. 对网络要求高,用户需要安装,功能变更又需要升级用户成本高。
    3. c/s架构适用于局域网,网络成本高。
    4. 界面通用性差,一旦需求变更,只能重新改写,复用性低。

    服务器:

    1. 对服务器要求高,用户增多,服务器难以担当时,只能更换更高性能服务器,扩展性差。
    2. 胖客户端,当客户端用户增多时;用户数增多会出现通信拥堵,服务器响应速度慢等情况。
    3. 用户是通过ODBC连接到数据库的,且每个连接到数据库的用户都会保持一个ODBC连接,会一直占用中央服务器的资源,对服务器的要求很高。

    用户:

    1. 用户需要安装才能使用;不能随时随地使用,网络要求较高。
    2. 由于是odbc连接库,导致用户数量收到限制,难以扩展。
    3. 适用于局域网,难以扩展到全球用户

    开发维护成本高

    b/s架构是什么,有何特点?

    c/s架构的改进;用通用的浏览器代替了客户端;可以说是3层c/s架构。下图常规b/s架构结构图:

    第一层是浏览器,即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。

    第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。

    第三层是数据库服务器,他扮演着重要的角色,因为它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。

    优点:

      架构

    1. 非局域网;基于广域网;能实现大量用户的信息传播。
    2. 页面/需求变更成本低;一经变更;所有用户都能看到;无需考虑系统版本;适配性强。
    3. 和web平台无关;服务器方便扩展。扩展性强。

      开发

    1. 技术难度低,开发成本低。代码或模块通用性强。
    2. 页面或模块通用性强;易复用。

      服务器

    1. 数据集中存放在中央数据库;数据同步性好;
    2. 数据集中存放有利于数据安全和权限分配;
    3. 服务器系统选择空间大;结构稳定。
    4. 服务器易于扩展;容易实现负载均衡。

      用户

    1. 基于广域网;对用户网速要求低。
    2. 无需安装;外部用户也可以使用;用户使用成本低。
    3. 基于jbcd连接
    4. 所有的用户都不直连数据库;而是通过一个JDBC连接缓冲池连接到数据库的,用户数基本上是无限的。

      成本

      1、开发成本低:代码复用性强,开发技术要求不高,基本不需要维护,需求和程序变更方便;

      2、用户使用成本极低。

      3、硬件网络要求低。

    缺点:

      1、无法实现复杂的页面效果;比如英雄联盟页面。

      2、用户过多时;服务器压力很大;响应会变慢;性能比不上c/s架构。

      3、数据过于集中;一旦服务器崩溃就彻底game over。

      4、性能有瓶颈,对性能要求高的应用,比如大型网游一般不能考虑b/s架构。

    c/s架构和b/s架构区别

      在响应速度,用户界面,数据安全等方面,C/S强于B/S,但是在业务扩展和适用www条件下,B/S明显胜过C/S。可以这么说,B/S的强项就是C/S的弱项,反之亦然。它们各有优缺点,相互无法取代。

     

    区别主要在以下方面:

    • 架构
    • 逻辑事物处理
    • 工作原理:C/S架构是客户端和服务器直接相连,实现点对点的通信,B/S是浏览器通过WEB服务器向数据库服务器发送数据请求,实现多对多的通信。
    • 响应速度
    • 成本
    • 维护,升级,扩展成本
    • 信息共享覆盖用户
  • 相关阅读:
    Delphi高手突破第二章(1),堆与栈,构造与析构函数
    终于懂了:TWinControl与TCustomControl真正区别之处(TWinControl系统自绘,TCustomControl是Delphi自绘)
    Delphi高手突破第二章(3),封装,继承,多态
    不浪费自己一点一滴精力和体力在与自己目标不相干的事情上
    Delphi高手突破第二章(2),对象大小,类方法与类引用,错误的面向对象设计
    推荐微软Windows 8 Metro应用开发虚拟实验室
    利用TCP传输协议实现基于Socket的聊天程序
    持续集成
    Android 4.1 Surface系统变化说明
    自动化测试整理 STAF/STAX & Robot Framework
  • 原文地址:https://www.cnblogs.com/1009gavin/p/8757384.html
Copyright © 2011-2022 走看看