首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Web架构体系是什么

什么是Web架构体系呢,说白了就是为了实现Web数据库系统的高效连接采取的方法,常见的有二种方式,一种是提供中间件访问数据库服务器,另一种是下载应用程序到客户端利用客户端直接访问数据库服务器,下面就详细的讲解一下。

2、负载分配层

​3、业务服务层和通信层

如果是将文件系统从本地物理机通过网络移植到远程呢?这就是文件存储,典型的文件存储系统包括了FTP、NFS、DAS: 文件存储系统的关键在于,文件系统并不在本机。而是通过网络访问存在于远程的文件系统,再由远程的文件系统操作块I/O命令完成数据操作。一般来说诸如本地文件系统NTFS/EXT/LVM/XF等是不允许直接网络访问的,所以一般文件存储系统会进行一层网络协议封装,这就是NFS协议/FTP协议/NAS协议(注意我们说的是协议),再由协议操作文件存储系统的服务器文件系统。文件存储系统要解决的问题首要的文件共享,网络文件协议可以保证多台客户端共享服务器上的文件结构。从简介中我们可以清楚的知道,当面对大量的数据读写压力的时候,文件存储系统肯定不是我们的首要选择,而当我们需要选择块存储系统时又面临成本和运维的双重压力(SAN系统的搭建是比较复杂的,并且设备费用昂贵)。并且在实际生产环境中我们经常遇到数据读取压力大,且需要共享文件信息的场景。

这就需要用到对象存储系统,对象存储系统兼具块存储系统的高吞吐量、高稳定性和文件存储的网络共享性、廉价性,对象存储就是为了满足这样的需求出现的,典型的对象存储系统包括:MFS、Swift、Ceph、Ozone等,先简单的了解一下对象存储系统,对象存储系统属于分布式系统。我们知道文件信息是由若干属性进行描述的,包括文件名、存储位置、文件大小、当前状态、副本数量等信息。将这些属性抽离出来,使用服务器进行存储(元数据服务器),这样一来文件操作的客户端要访问某一个文件,首先会询问元数据节点这个文件的基本信息。由于是分布式系统,那么数据一致性、资源争夺、节点异常问题都需要进行统一的协调。对象存储系统中一般会有监控/协调节点。不同的对象存储系统,支持的元数据节点和监控/协调节点的数量是不一致的。但总的趋势都是“去中心化”。OSD节点(基于对象的存储设备)用于存储文件内容信息,虽然OSD节点的底层和块存储底层一样都是依靠块I/O进行操作的,但是上层构造两者完全不同。

如何来评价一个服务系统的顶层设计是否优秀呢?有以下几个评价要点。

5.1、建设成本

任何系统架构在进行生产环境实施的时候,都是需要付出建设成本的。这些成本包括:设计成本、资产采购成本、运维成本、第三方服务成本,如何利用有限的成本建设出符合业务需求、适应访问规模的系统,就是一个复杂的问题。

5.2、扩展/规划水平

根据业务的发展,整个系统是需要进行升级的(这包括已有模块的功能升级、合并已有的模块、加入新的业务模块或者在模块功能不变的情况下提高数据吞吐量)。如何尽量不影响原业务的工作,以最快的速度、最小的工作量来进行系统的横向、纵向扩展,也就是一个复杂的问题了。好的系统架构是可以在用户无任何感觉的情况下进行升级的。

5.3、抗攻击水平

对系统的攻击肯定是瞄准整个系统最薄弱的环节进行的,攻击可能来自于外部(例如Dos/DDos攻击)也可能来自于内部(口令入侵)。好架构的系统不是“绝对不能攻破”的系统,而是“预防很好”的系统。所谓预防,就是预防可能的攻击,分阶段对可能遇到的各种攻击进行模拟;所谓隐藏,就是利用各种手段对整个系统的关键信息进行涉密管理,ROOT权限、物理位置、防火墙参数、用户身份。

5.4、容灾恢复等级

好的架构应该考虑不同等级的容灾。

集群容灾:在集群中某一个服务节点崩溃的情况下,集群中另外一台主机能够接替马上接替他的工作,并且故障节点能够脱离。

分布式容灾:分布式系统一般会假设整个系统中随时都在发生单点故障/多点故障,当产生单点故障/多点故障时,整个分布式系统都还可以正常对外提供服务,并且分布式系统中的单点故障/多点故障区可以通过自动/人工的方式进行恢复,分布式系统会重新接纳它们。

异地容灾(机房等级容灾):在机房产生物理灾难的情况下(物理网络断裂、战争摧毁、地震等),在某个相隔较远的异地,备份系统能够发现这样的灾难发生,并主动接过系统运行权,通知系统运维人员(根据系统不同的运行要求,可能还有多个备份系统)。异地容灾最大的挑战性是如何保证异地数据的完整性。

系统架构归根结底还是为业务服务的,系统架构的设计选型一定是以服务当前的业务为前提。如业务通信层中,选择SOA组件还是消息队列组件,又或者选择什么样的消息队列,就是一个很好的业务驱动事件。如A业务是一种WEB前端服务,需要及时反馈给客户操作结果,B业务的服务压力又非常大。A业务在调用B业务时,B业务无法在毫秒级的时间内返回给A业务调用结果。这种业务场景下可以使用AMQP类型的消息队列服务。目前行业内有很多为解决相同业务存在的不同方案,架构师在进行方案选型的过程中,一定要对各种解决方案的特点足够掌握,这样才能做出正确的选择。

5.6、维护难易程度

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180222A0EOT400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券