原理c++_浅谈CS和BS架构的⼯作原理及优缺点
C/S架构
⼀、C/S架构及其背景
C/S架构是⼀种⽐较早的软件架构,主要应⽤于局域⽹内。在这之前经历了集中计算模式,随着计算机⽹络的进步与发展,尤其是可视化⼯
两层C/S架构。
具的应⽤,出现过两层C/S和三层C/S架构,不过⼀直很流⾏也⽐较经典的是我们所要研究的两层C/S架构
客户机和服务器两层:第⼀层是在客户机系统上结合了表⽰与业务逻辑,第⼆层是通过⽹络结C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层
合了数据库服务器。简单的说就是第⼀层是⽤户表⽰层,第⼆层是数据库层。
客户端和服务器直接相连,这两个组成部分都承担着重要的⾓⾊,第⼀层的客户机并不是只有输⼊输出,运算等能⼒,它可以处理⼀些计算,数据存储等⽅⾯的业务逻辑事务;第⼆层的服务器主要承担事务逻辑的处理,本来事务很重,但是由于客户机可以分担⼀些逻辑事务,所以减轻了服务器的负担,使得⽹络流量增多。
想要使⽤C/S架构的软件需要下载⼀个客户端,安装后就可以使⽤。
想要使⽤C/S架构的软件需要下载⼀个客户端,安装后就可以使⽤
需要C/C++ Linux服务器架构师学习资料加qun获取(资料包括C/C++,Linux,golang技
术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享
⼆、C/S架构的优点
C/S架构既然能在计算机历史的长河中长盛不衰就必然有其闪光之处。下⾯将从各个⾓度分析C/S架构的优点。
1)客户端和服务器直接相连
a)点对点的模式使得更安全。
b)可以直接操作本地⽂本,减少获取⽂本的时间和精⼒。
c)由于直接相连,减少了通信流量,这对于客户来说可以节约⼀⼤笔费⽤。
d)直接相连,中间没有什么阻隔或岔路,所以响应速度快。当通信量少的时候没什么感觉,但是如果通信量庞⼤,就不会出现拥堵的现象。
2)客户端可以处理⼀些逻辑事务
a)充分利⽤两者的硬件设施,避免资源的浪费。
b)为服务器分担⼀些逻辑事务,可以进⾏数据处理和数据存储。可以处理复杂的事务流程。
c)客户端有⼀套完整应⽤程序,在出错提⽰、在线帮助等⽅⾯都有强⼤的功能,并且可以在⼦程序间
⾃由切换。
javascriptjavascript日本中字高清版app3) 客户端操作界⾯
a)可以提⾼客户的视觉体验,满⾜客户需求。黄页小视频丝瓜
b)客户端操作界⾯可以随意排列,充分满⾜客户的需要,展现特点与个性。
三、C/S架构的缺点
1)客户端
经过长期的时间检验,⼈们也发现了C/S存在的不⾜,下⾯将前⼈的观点整理总结⼀下。1)客户端
a)只能处理⼀些功能单⼀的多系统。
如何用c++做游戏b)C/S架构适⽤于局域⽹,对⽹速的要求⽐较⾼。
c)由于需要安装客户端,安装部署困难,所以不易扩展。
d)若客户端使⽤的系统不同,就要针对这些系统分别编写程序。
e)客户端界⾯缺乏通⽤性,且当业务更改时就需要更改界⾯,重新编写。
f)客户端需要专门的客户端程序,⽐较⿇烦,针对点多⾯⼴且不具备⽹络条件的⽤户体,不能够实现快速部署安装和配置。
2)服务器
a)⽤户数增多会出现通信拥堵,服务器响应速度慢等情况。
b)当服务器难当⼤任时,只能将其废弃,使⽤更强⼤的服务器。
c)当客户端⽤户增多时,服务器难以承担重负,是名副其实的“胖”客户端。
d)⽤户是通过ODBC连接到数据库的,且每个连接到数据库的⽤户都会保持⼀个ODBC连接,会⼀直占⽤中央服务器的资源,对服务器的要求很⾼。
3)⽤户
a)没有安装客户端的外部⽤户不能访问。
b)只有安装了客户端才能访问服务器,所以⽤户不能随时随地的访问。
c)⽤户是通过ODBC连接到数据库的,所以⽤户数受限,不易扩张。
d)由于针对⼩范围的客户,所以不能实现真正⼤范围的信息共享,信息传达和发布。
a)需要聘⽤⾼素质的⼈员,对其培训,费⽤⾼。
b)初次开发就需要配备好客户端,服务器,需要有专业⽔准的技术⼈员,所以成本⾼。
a)系统升级维护⿇烦,需要更改⼤量程序,投⼊⼤量精⼒和⾦钱。
b)业务扩展或变更时,需要更改程序,客户端的界⾯也需要重新更改。
c)初次投⼊成本后不能⼀劳永逸,后期需要很多成本,⽐如服务器的更换,客户端的更变等。
四、C/S架构应⽤
C/S架构的软件是在是数不胜数,从办公的OFFICE,WPS,WINRAR到杀毒软件如⾦⼭,瑞⾦再到我们的娱乐软件,如播放器,QQ,等,⽆处不见C/S架构。
B/S架构
⼀、B/S架构及其背景
随着Internet和WWW的流⾏,以往的主机/终端和C/S都⽆法满⾜当前的全球⽹络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。它是C/S架构的⼀种改进,可以说属于三层C/S架构
它是C/S架构的⼀种改进,可以说属于三层C/S架构。主要是利⽤了不断成熟的WWW浏览器技术,⽤通⽤浏览器就实现了原来需要复杂专⽤软件才能实现的强⼤功能,并节约了开发成本,是⼀种全新的软件系统构造技术。
第⼀层是浏览器
第⼀层是浏览器,即客户端,只有简单的输⼊输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上⽹浏览,所以它⾯向的是⼤范围的⽤户,所以界⾯设计得⽐较简单,通⽤。
第⼆层是WEB服务器,扮演着信息传送的⾓⾊。当⽤户想要访问数据库时,就会⾸先向WEB服务器发送请求,WEB服务器统⼀请求后会第⼆层是WEB服务器
向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。
第三层是数据库服务器,他扮演着重要的⾓⾊,因为它存放着⼤量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进第三层是数据库服务器
mysql无法连接到服务器⾏处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML⽂本形式发送给浏览器,也就是我们打开浏览器看到的界⾯。
B/S架构和C/S架构不同,浏览器不是直接和数据库服务器相连,所以是多对多的结构。因此在此结构下,很适合在⼴域⽹⾥实现巨⼤的互联⽹,甚⾄是全球⽹。有着很强⼤的信息共享性。
在B/S出现的早期,浏览器只能显⽰静态页⾯,得不到良好的交互,不能进⾏⼤量的逻辑处理,当时浏览器主要⽤来实现信息的发布,是⼀种单向的应⽤。后来出现了动态⽹页,这⾥的动态有三个⽅⾯,⼀是交互,⼆是动画,三是数据。这样,浏览器的交互性能得到极⼤提⾼。
所以浏览器成为了客户端,但由于处理的内容较少,所以叫“瘦”客户端。
页⾯也越来越丰富多彩。浏览器也能处理部分逻辑事务,所以浏览器成为了客户端,但由于处理的内容较少,所以叫“瘦”客户端⼆、B/S架构的优点
B/S架构是应WEB技术的飞速发展⽽从传统的C/S架构发展⽽来,并且⼀举成为当今主要的⽹络架构。⽬前主要的⽹站,尤其是商务⽹站都
1)浏览器
是基于B/S架构建⽴的。那么我们就来细数⼀下B/S架构的优点,它到底为什么受到⼤家的青睐。1)浏览器
a)能⾯对⼴⼤的⽤户实现信息传播共享。
b)浏览器只处理⼀些简单的逻辑事务,负担⼩。
c)页⾯的更新能实现同步,所有⽤户都能看到。
d)界⾯设计开发简单,对程序员的要求较低,不需要⼤量的培训。
e)业务扩展⽅便,只需要增加⼏个业务扩展的页⾯即可,不需要⼤量的编程。
f)界⾯不需要太多的编写,⽐较通⽤,更改界⾯也⽐较简单,所以⼏乎不需要维护。
g)由于Web的平台⽆关性,可以从⼀台服务器、⼏个⽤户的⼯作组级扩展成为拥有成上万⽤户的⼤型系统。
jquery链接分享功能a)数据都集中存放在数据库服务器,所以不存在数据不⼀致现象。
b)能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
c)在数据库服务器上不⼀定使⽤WINDOWS系统,选择更多,成本更少。
d)如果是异地,只需要把服务器连接专⽹即可,实现远程维护、升级和共享。
e)在JAVA这样的跨平台语⾔出现之后,B/S架构管理软件更是⽅便、快捷、⾼效。
f)数据存放在数据库服务器,客户端并不存放任何业务数据或者数据库连接信息,所以数据⽐较安全。
g)随着服务器负载的增加,可以平滑地增加服务器的个数并建⽴集服务器系统,然后在各个服务器之间做负载均衡。
a)B/S建⽴在⼴域⽹上,所需的⽹速不⾼。
b)外部的⽤户也可以对浏览器进⾏访问。
c)界⾯⼈性化,通⽤化,不需要多少培训就能掌握。
d)不需要安装客户端,只要能连上⽹,就能随时随地的浏览页⾯。
e)借助Internet强⼤的信息发布与信息传送能⼒可以有效地解决企业内部的⼤量不规则的信息交流。
f)所有的⽤户都是通过⼀个JDBC连接缓冲池连接到数据库的,⽤户并不保持对数据库的连接,⽤户数基本上是⽆限的。
4)成本
oracle的软件a)软件重⽤性强,节省了⼤量的成本。
b)不需要安装特殊的软件,客户端⼏乎零维护。
c)开发简单,升级便捷,⼈员不需要太多培训,节省了⼤量的资⾦。
d)客户端⼏乎不需要维护,只要盯紧服务器就可以了,所以成本较⼩。
e)⼀般只有初期⼀次性投⼊成本,有利于软件项⽬控制和避免IT⿊洞。
f)建⽴在⼴域⽹之上的, 不必是专门的⽹络硬件环境,例如电话上⽹, 租⽤设备等,成本较⼩。
三、B/S架构的缺点
虽说B/S架构有很多优越性,但是也不可避免有些缺陷,不然也不会暴发究竟使⽤哪种架构的⼝⽔战。不过,在理论上,既然B/S是C/S的
1)客户端
改进版,应该克服了C/S的很多缺陷,所以缺点应该不是很多。下⾯我们来看看实际上是什么情况。1)客户端
a)⾯通⽤化,不突出个性。
b)页⾯需要不断地动态刷新,尤其是⽤户增多,⽹速慢得情况,很费时。
c)由于不需要安装客户端,客户端易扩展,还有就是外部⽤户也可以访问,所以B/S⾯对⼤量的不可知⽤户。
2)服务器
a)⽤户增多时,服务器响应速度慢。
b)功能虽然多样化,但是不能专门化,不能实现复杂的功能。
c)服务器承担着重要的责任,数据负荷较重。⼀旦发⽣服务器“崩溃”等问题,后果不堪设想。
四、B/S架构应⽤
当时在讲解典型的C/S架构时,提到了了常⽤的QQ软件。现在新出来了⼀个WEBQQ,从WEBQQ名称中的WEB就不难看出它属于B/S架构,是⼀种浏览器服务器结构。事实上也是如此,因为WEBQQ根本不需要安装客户端,只需要有浏览器就可以进⾏聊天交互了。
C/S和B/S
⼀、C/S和B/S关系概述
B/S架构是从C/S架构改进⽽来,可以说是三层C/S架构,由此可见两者关系不⼀般。B/S从C/S中脱离⽽出,后来随着WEB技术的飞速发展以及⼈们对⽹络的依赖程度加深,B/S⼀举成为当今最流⾏的⽹络架构。两种架构都在各⾃岗位上虎虎⽣威,它们各有千秋,都是⾮常重要的⽹络架构。在响应速度,⽤户界⾯,数据安全等⽅⾯,C/S强于B/S,但是在业务扩展和适⽤www条件下,B/S明显胜过C/S。可以这么说,B/S的强项就是C/S的弱项,反之亦然。它们各有优缺点,相互⽆法取代。
⼆、C/S和B/S的不同点
1)⽐较⼤的差别
1、结构
C/S是两层架构,由客户端和服务器组成,⽽B/S是三层架构,由浏览器,WEB服务器和数据库服务器组成。
2、逻辑事务处理
C/S架构合理地让客户端和服务器承担⼀部分逻辑事务处理,使得服务器的负担减轻了,⽽且客户端也能进⾏⼀些数据处理和存储的功能。B/S架构的浏览器就是它的客户端,可是这个客户端只能进⾏⼀些简单的输⼊输出和信息发布共享的功能,主要的逻辑事务处理还是要靠服务器,所以服务器的负担很重。
3、⼯作原理
C/S架构是客户端和服务器直接相连,实现点对点的通信,B/S是浏览器通过WEB服务器向数据库服务器发送数据请求,实现多对多的通信。
4、响应速度
C/S架构的客户端和服务器直接相连,中间没有任何阻隔,所以相应速度快,尤其是在⽤户增多时更加明显。B/S架构相应速度慢,主要的重任在数据库服务器⾝上,由于B/S架构的⽆限扩展性,当⽤户激增,访问量庞⼤时,服务器相应速度慢,服务器存在瘫痪的危险。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论