B/S和C/S混合架构的文件管理系统设计
文件管理系统能够大大降低文件管理工作人员的负担,在实现无纸化文件传输流转的同时,也提高了办公效率。下面对分布式文件管理系统进行了设计与应用,提出了基于B/S模式和C/S模式相混合的应用架构,这对于分布式文件管理设计是一次有益的尝试,同时对其它分布式管理系统设计与应用也具有较好的指导和借鉴意义。
鉴于自动化控制系统在处理多任务信息开发和管理中所表露出来的优越性,本文件管理系统的开发设计也借鉴和应用了分布式管理系统的开发模式。目前,分布式管理系统的主流开发应用模式主要有两种:B/S模式和C/S模式。
11 B/S模式
B/S模式,即浏览器服务器模式,其主要应用模式是将多任务所涉及到的数据信息,统一交由数据库服务器进行管理和发布,而用户只需借助浏览器就能实现对多任务信息的统一访问及数据信息管理。如果文件管理系统采用B/S模式,则无需开发专门的文件管理信息系统,就能够轻松实现对文件信息的管理,而且只要有能够联网的电脑终端,且电脑终端配备了浏览器,就能够实现对文件信息的访问和管理。这种模式极大地减轻了开发人员的设计工作量,但同时也增加了数据库服务器的'负载压力,容易导致整个信息管理系统宕机,一旦数据库服务器宕机,则有可能导致整个文件管理系统失效。
12 C/S模式
C/S模式也称客户端/服务器模式,这种应用模式需要为用户配置专门开发的客户端,只有电脑终端安装了这种专门开发的客户端,才能够实现对系统内数据信息的访问、配置和管理。因此,该模式的最大弊端就是开发设计的工作量大,需要专门技术人员才能够实现对系统内文件信息的有效管理。同时,这种C/S模式将数据库服务器的负载压力平均分摊到了每一个客户终端,因此服务器的压力较小,提高了整个文件管理系统的稳定性和健壮性。
分析发现,B/S模式和C/S模式都有各自的优缺点,因此,考虑将B/S模式和C/S模式这两种分布式系统模式的优势相结合,设计基于B/S和C/S混合模式的文件管理系统。这种基于混合架构的文件管理系统具有如下特征:①文件管理系统的数据结构采用B/S模式,这样每一个客户端只需要借助于浏览器就能够实现对文件管理信息的访问和统一管理,而无需为每一个客户端配置专用的客户端程序,降低了开发设计人员的工作量;②文件管理系统的分布式结构采用C/S模式,将数据库服务器统一管理模式交由若干个应用终端分担,能够极大地减轻数据库服务器的负荷压力,有利于提高整个文件管理系统的稳定性和健壮性;③应用C/S模式可以有效实现在局域网内的联网通信管理能力,同时C/S模式所采用的异步确认机制也能够从根本上提高文件收发管理的实时性和准确性,有助于提高文件管理办公效率。
21 文件管理系统功能
基于B/S模式和C/S模式混合架构的文件管理系统,其管理功能主要包括以下几个方面:
(1)文件管理功能。文件管理主要是对文件收发进行相关信息记录,包括收发责任人、文件大小、传输信道、文件格式、时间戳等,所有数据信息统一在数据库服务器备份,以实现统一管理。
(2)文件收发功能。利用局域网通信组件能够实现自上而下及自下而上的文件收发、转发管理。同时,对文件信息内容进行按需过滤,建立文件检索关键词,以提高文件管理效率,并实现自动化、无纸化办公的目的。
(3)用户管理功能。对使用该文件管理系统的用户进行注册管理,分配统一的登陆账号和密码,确保文件信息的安全性;另一方面,针对不同级别的用户,分别设置不同级别的权限,以实现对文件信息的分类管理和权限制访问管理,提高文件管理效率。
(4)联网安全管理功能。由于文件管理系统不可避免地会涉及到网络文件的收发,因此需要加强对系统的联网安全管理能力。可以通过采用用户账号登录、数据库矩阵机制、文件信息内容加密等措施,提高文件管理系统的安全性。在系统硬件架构上,可采取物理隔离、硬件防火墙等措施为文件管理系统的安全性提供保障。
22 系统架构与实现
基于B/S和C/S混合架构的文件管理系统,从硬件架构上来说,既要凸显C/S模式的优势,同时也要在数据库访问机制上保留B/S模式的优点,图1为基于B/S和C/S混合架构的文件管理系统架构原理图。整个文件管理系统,其硬件上主要从以下几个方面加以实现:
(1)文件服务器采用磁盘阵列。主要存放tiff格式的遥感影像文件及其影像产品的描述文件等,数据库服务器存放遥感印象产品的编目信息,FTP服务和IIS服务部署在同一台服务器上。并且,采取通关防火墙等安全隔离措施,以方便外网多用户通信。
(2)Web程序采用VS2010 C#语言,基于ASPNET 开发。主要实现遥感影像产品编目信息查询、遥感印象产品管理、用户管理、文件分发计划制定、公告发布等功能。 (3)FTP服务提供文件下载服务。采用Windows自带的FTP服务,采用虚拟目录的形式将FTP的文件目录指向文件服务器。
(4)文件分发管理服务软件安装在中心的FTP和IIS服务器上,与IIS服务和FTP服务共用一台服务器。主要定时查询数据库中管理员制定的文件分发计划,解析文件分发计划内容,根据分发计划中的用户名将分发计划中的文件名和编目信息,以及访问FTP的用户名和密码发送到指定用户的文件下载客户端,文件下载客户端收到文件推送信息后根据信息的文件名和路径,以及访问FTP的用户名和密码自动下载文件。
(5)文件下载客户端软件,安装在用户终端上。用以实时接收文件分发管理服务软件推送的文件下载信息,并根据下载信息自动下载文件。
23 系统软件设计
基于B/S和C/S混合架构的文件管理系统,其主要功能是实现文件的收发传输,因此在软件设计上,需主要完成文件收发传输的工作流程设计。
(1)文件传输管理。由文件发送方选择文件类型、文件数量及文件内容,经过系统内部封装,打包发往指定的部门或者客户群,同时出于对文件安全性的考虑,支持增添密码访问功能。当指定用户打开由上游转发而来的文件时,在验证了用户身份和文件访问密码后,可进行文件打包下载,将相关下载信息反馈给文件发送方,并对整个文件传输信息进行记录备案。
(2)用户权限管理。用户必须完成注册,获取系统统一分配的用户名和密码,才能够登陆系统进行使用;并且,针对用户注册时所选择用户类型的不同,分别赋予不同等级的权限,对文件管理系统内的所有文件信息标记不同权限等级访问标签,从而实现对用户和文件的双重分类管理,提高系统的安全性。
;有可扩展性、易使用性、可用性、易管理性。服务器必须具有一定的“可扩展性”,为了保持可扩展性,通常需要在服务器上具备一定的可扩展空间和冗余件(如磁盘阵列架位、PCI和内存条插槽位等)。服务器的易使用性主要体现在服务器是不是容易 *** 作,用户导航系统是不是完善,机箱设计是不是人性化,有没有关键恢复功能,是否有 *** 作系统备份,以及有没有足够的培训支持等方面。可用性,即所选服务器能满足长期稳定工作的要求,不能经常出问题。服务器所面对的是整个网络的用户,而不是单个用户,在大中型企业中,通常要求服务器是永不中断的。为了确保服务器具有高的可用性,除了要求各配件质量过关,还可采取必要的技术和配置措施,如硬件冗余等。在服务器虽然在稳定性方面有足够保障,但也应有必要的避免出错的措施,以及时发现问题。
根据是否支持高级的SCSI命令来划分磁盘模式,分为VBD(虚拟块存储设备,Virtual Block Device)类型和SCSI(小型计算机系统接口,SmallComputer System Interface)类型。VBD类型:磁盘模式默认为VBD类型。VBD类型的磁盘只支持简单的SCSI读写命令。SCSI类型:SCSI类型的磁盘支持SCSI指令透传,允许云服务器 *** 作系统直接访问底层存储介质。除了简单的SCSI读写命令,SCSI类型的磁盘还可以支持更高级的SCSI命令。什么叫分布式网络管理
现在的本地局域网结构已经从共享网络过渡到交换网络,以满足不断增加的带宽需求。交换结构大大地改变了网络管理的方式。传统的RMON探测器把整个网络看作一个共享网络。为了克服该缺点,业界领先的网络厂商把RMON软件内置在集线器、交换机甚至网卡上,以收集关联设备和网段的数据,并将这些数据传送到计算机网络管理系统,称之为分布式的RMON或dRMON。 RMON2使得网络管理扩充到应用层协议,提供第一时间的实时商业级的容量计划和资源分配能力。
分布式网管包括一系列的特性和功能,包括以下几个方面:
自适应的基于策略的管理
自适应的基于策略的管理具备设置策略或规则的能力,网络可根据策略或规则对变化的网络做出性能与安全性方面的响应。它可存储用户和应用的配置文件以决定其相应的服务质量级别和带宽需求。通过给终端设备赋予智能以要求其从网络设备需要什么,自适应的基于策略的管理减少计算机网络管理的复杂度。
分布查找与监测
分布查找与监测是指将网络管理任务,如设备查找、拓扑监测和状态轮询等,由网管工作站移到一个或多个远程工作站。这样将减少中央管理工作站的工作负载以及通过网络主干和广域网链路的业务量。
采用分布式管理,装有网管软件的工作站可配置为收集工作站或管理工作站。每一个收集工作站负责收集一个管理对象特定用户集(称之为域)的信息。一个管理工作站可通过该工作站或间接通过一个或多个管理控制台将网管功能提供给用户。网管控制台成为特定MIS *** 作员所定义的计算机网络管理信息的虚拟访问点。
智能过滤
在大规模的网络环境中,为在高级别限制信息负荷,分布式管理采用智能过滤减少数据量。智能过滤是指选择进一步处理的信息级别。分布式管理采用4种过滤器在系统的不同点删除不必要的数据,即查找过滤器(Discovery Filter)、拓扑过滤器、映像过滤器(Map Filter)和告警与事件过滤器。
分布式阈值监测
阈值事件监测使得计算机网络管理员能够在用户感觉到故障之前在问题出现的域(Domain)内检测和隔离故障。转发阈值事件的能力意味着管理工作站不再需要对需要阈值监测的所有对象进行事件收集。收集工作站可独立地从其相关的对象收集SNMP和RMON趋势数据并根据数据激活Action-On-Event阈值。通过称之为状态集合(Status Aggregation)的特性,收集工作站使得信息能够为其他需要该信息的收集和管理工作站所用,并选择性地将数据转发给中心控制台,允许数据收集级别以用于预测、容量计划、趋势和存档服务级合同等。
分布式阈值监测减少了网络上的业务量和中心管理平台的CPU和管理资源负担。目前,一些先进的厂商在网络设备中内置基于SNMP的软件,承担了中心网络管理软件的分布式阈值监测任务。再加上包含于计算机网络管理软件之内的RMON工具,这些内置的软件收集诊断和性能数据,独立于中心管理控制台执行特定的校验 *** 作。这种分布式RMON特性延展中心网络管理系统跨越交换局域网网段的监测和收集能力。
动态轮询和判断逻辑
轮询引擎通常以一定的时间间隔收集数据。而采用动态轮询和判断逻辑,轮询引擎能够自动而又自主地调整轮询时间间隔,这样能够在异常或网络出现故障时获得有关设备和网段性能和 *** 作更详细的情况。
分布式的管理任务引擎
任务引擎是耗时、耗资源和耗带宽的事务,将任务引擎分派出去使得计算机网络管理更为自动和独立。通常的分布式任务引擎包括分布式软件升级和配置、分布式数据分析和IP地址管理。 具备以上功能的分布式管理模式具有扩展性好、复杂性低、更快的响应时间和更好的性能和信息的可访问性等优点。
一 什么是分布式数据库
分布式数据库系统是在集中式数据库系统的基础上发展来的 是数据库技术与网络技术结合的产物
分布式数据库系统有两种 一种是物理上分布的 但逻辑上却是集中的 这种分布式数据库只适宜用途比较单一的 不大的单位或部门 另一种分布式数据库系统在物理上和逻辑上都是分布的 也就是所谓联邦式分布数据库系统 由于组成联邦的各个子数据库系统是相对 自治 的 这种系统可以容纳多种不同用途的 差异较大的数据库 比较适宜于大范围内数据库的集成
分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS)和分布式数据库(DDB)
在分布式数据库系统中 一个应用程序可以对数据库进行透明 *** 作 数据库中的数据分别在不同的局部数据库中存储 由不同的DBMS进行管理 在不同的机器上运行 由不同的 *** 作系统支持 被不同的通信网络连接在一起
一个分布式数据库在逻辑上是一个统一的整体 即在用户面前为单个逻辑数据库 在物理上则是分别存储在不同的物理节点上 一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库 它的分布性表现在数据库中的数据不是存储在同一场地 更确切地讲 不存储在同一计算机的存储设备上 这就是与集中式数据库的区别 从用户的角度看 一个分布式数据库系统在逻辑上和集中式数据库系统一样 用户可以在任何一个场地执行全局应用 就好那些数据是存储在同一台计算机上 有单个数据库管理系统(DBMS)管理一样 用户并没有什么感觉不一样
分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性
分布式数据库系统是一个客户/服务器体系结构
在系统中的每一台计算机称为结点 如果一结点具有管理数据库软件 该结点称为数据库服务器 如果一个结点为请求服务器的信息的一应用 该结点称为客户 在ORACLE客户 执行数据库应用 可存取数据信息和与用户交互 在服务器 执行ORACLE软件 处理对ORACLE数据库并发 共享数据存取 ORACLE允许上述两部分在同一台计算机上 但当客户部分和服务器部分是由网连接的不同计算机上时 更有效
分布处理是由多台处理机分担单个任务的处理 在ORACLE数据库系统中分布处理的例子如
客户和服务器是位于网络连接的不同计算机上
单台计算机上有多个处理器 不同处理器分别执行客户应用
参与分布式数据库的每一服务器是分别地独立地管理数据库 好像每一数据库不是网络化的数据库 每一个数据库独立地被管理 称为场地自治性 场地自治性有下列好处
◆系统的结点可反映公司的逻辑组织
◆由局部数据库管理员控制局部数据 这样每一个数据库管理员责任域要小一些 可更好管理
◆只要一个数据库和网络是可用 那么全局数据库可部分可用 不会因一个数据库的故障而停止全部 *** 作或引起性能瓶颈
◆故障恢复通常在单个结点上进行
◆每个局部数据库存在一个数据字典
◆结点可独立地升级软件
可从分布式数据库的所有结点存取模式对象 因此正像非分布的局部的DBMS 必须提供一种机制 可在局部数据库中引用一个对象 分布式DBMS必须提供一种命名模式 以致分布式数据库中一个对象可在应用中唯一标识和引用 一般在层次结构的每一层实施唯一性 分布式DBMS简单地扩充层次命名模型 实施在网络上唯一数据库命名 因此一个对象的全局对象名保证在分布式数据库内是唯一
ORACLE允许在SQL语句中使用全局对象名引用分布式数据库中的模式对象(表 视图和过程) 在ORACLE中 一个模式对象的全局名由三部分组成 包含对象的模式名 对象名 数据库名 其形式如
SCOTT EMP@SALES DIVISION ACME
一个远程查询为一查询 是从一个或多个远程表中选择信息 这些表驻留在同一个远程结点
一个分布式查询可从两个或多个结点检索数据 一个分布式更新可修改两个或两个以上结点的数据
一个远程事务为一个事务 包含一人或多个远程语句 它所引用的全部是在同一个远程结点上 一个分布式事务中一个事务 包含一个或多个语句修改分布式数据库的两个或多个不同结点的数据
在分布式数据库中 事务控制必须在网络上直辖市 保证数据一致性 两阶段提交机制保证参与分布式事务的全部数据库服务器是全部提交或全部回滚事务中的语句
ORACLE分布式数据库系统结构可由ORACLE数据库管理员为终端用户和应用提供位置透明性 利用视图 同义词 过程可提供ORACLE分布式数据库系统中的位置透明性
ORACLE提供两种机制实现分布式数据库中表重复的透明性 表快照提供异步的表重复;触发器实现同步的表的重复 在两种情况下 都实现了对表重复的透明性
在单场地或分布式数据库中 所有事务都是用MIT或ROLLBACK语句中止
二 分布式数据库系统的分类
( ) 同构同质型DDBS 各个场地都采用同一类型的数据模型(譬如都是关系型) 并且是同一型号的DBMS
( )同构异质型DDBS 各个场地采用同一类型的数据模型 但是DBMS的型号不同 譬如DB ORACLE SYBASE SQL Server等
( )异构型DDBS 各个场地的数据模型的型号不同 甚至类型也不同 随着计算机网络技术的发展 异种机联网问题已经得到较好的解决 此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据
三 分布式数据库系统主要特点
DDBS的基本特点
( )物理分布性 数据不是存储在一个场地上 而是存储在计算机网络的多个场地上
逻辑整体性 数据物理分布在各个场地 但逻辑上是一个整体 它们被所有用户(全局用户)共享 并由一个DDBMS统一管理
( )场地自治性 各场地上的数据由本地的DBMS管理 具有自治处理能力 完成本场地的应用(局部应用)
( )场地之间协作性 各场地虽然具有高度的自治性 但是又相互协作构成一个整体
DDBS的其他特点
( )数据独立性
( )集中与自治相结合的控制机制
( )适当增加数据冗余度
( )事务管理的分布性
四 分布式数据库系统的优点
( )更适合分布式的管理与控制
分布式数据库系统的结构更适合具有地理分布特性的组织或机构使用 允许分布在不同区域 不同级别的各个部门对其自身的数据实行局部控制 例如 实现全局数据在本地录入 查询 维护 这时由于计算机资源靠近用户 可以降低通信代价 提高响应速度 而涉及其他场地数据库中的数据只是少量的 从而可以大大减少网络上的信息传输量;同时 局部数据的安全性也可以做得更好
( )具有灵活的体系结构
集中式数据库系统强调的是集中式控制 物理数据库是存放在一个场地上的 由一个DBMS集中管理 多个用户只可以通过近程或远程终端在多用户 *** 作系统支持下运行该DBMS来共享集中是数据库中的数据 而分布式数据库系统的场地局部DBMS的自治性 使得大部分的局部事务管理和控制都能就地解决 只有在涉及其他场地的数据时才需要通过网络作为全局事务来管理 分布式DBMS可以设计成具有不同程度的自治性 从具有充分的场地自治到几乎是完全集中式的控制
( )系统经济 可靠性高 可用性好
与一个大型计算机支持一个大型的集中式数据库在加一些进程和远程终端相比 由超级微型计算机或超级小型计算机支持的分布式数据库系统往往具有更高的性价比和实施灵活性 分布式系统比集中式系统具有更高的可靠性和更好的可用性 如由于数据分布在多个场地并有许多复制数据 在个别场地或个别通信链路发生故障时 不致于导致整个系统的崩溃 而且系统的局部故障不会引起全局失控
( )在一定条件下响应速度加快
如果存取的数据在本地数据库中 那么就可以由用户所在的计算机来执行 速度就快
( )可扩展性好 易于集成现有系统 也易于扩充
对于一个企业或组织 可以采用分布式数据库技术在以建立的若干数据库的基础上开发全局应用 对原有的局部数据库系统作某些改动 形成一个分布式系统 这比重建一个大型数据库系统要简单 既省时间 又省财力 物力 也可以通过增加场地数的办法 迅速扩充已有的分布式数据库系统
五 分布式数据库系统的劣势
( )通信开销较大 故障率高
例如 在网络通信传输速度不高时 系统的响应速度慢 与通信相关的因素往往导致系统故障 同时系统本身的复杂性也容易导致较高的故障率 当故障发生后系统恢复也比较复杂 可靠性有待提高
( )数据的存取结构复杂
一般来说 在分布时数据库中存取数据 比在集中时数据库中存取数据更复杂 开销更大
( )数据的安全性和保密性较难控制
在具有高度场地自治的分布时数据库中 不同场地的局部数据库管理员可以采用不同的安全措施 但是无法保证全局数据都是安全的 安全性问题式分布式系统固有的问题 因为分布式系统式通过通信网络来实现分布控制的 而通信网络本身却在保护数据的安全性和保密性方面存在弱点 数据很容易被窃取
分布式数据库的设计 场地划分及数据在不同场地的分配比较复杂 数据的划分及分配对系统的性能 响应速度及可用性等具有极大的影响 不同场地的通信速度与局部数据库系统的存取部件的存取速度相比 是非常慢的 通信系统有较高的延迟 在CPU上处理通信信息的代价很高 分布式数据库系统中要注意解决分布式数据库的设计 查询处理和优化 事务管理及并发控制和目录管理等问题
六 分布式数据库系统 数据分片
类型
水平分片
按一定的条件把全局关系的所有元组划分成若干不相交的子集 每个子集为关系的一个片段
垂直分片
把一个全局关系的属性集分成若干子集 并在这些子集上作投影运算 每个投影称为垂直分片
导出分片
又称为导出水平分片 即水平分片的条件不是本关系属性的条件 而是其他关系属性的条件
混合分片
以上三种方法的混合 可以先水平分片再垂直分片 或先垂直分片再水平分片 或其他形式 但他们的结果是不相同的
条件
( )完备性条件
必须把全局关系的所有数据映射到片段中 决不允许有属于全局关系的数据却不属于它的任何一个片段
( )可重构条件
必须保证能够由同一个全局关系的各个片段来重建该全局关系 对于水平分片可用并 *** 作重构全局关系;对于垂直分片可用联接 *** 作重构全局关系
( )不相交条件
要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)
七 分布式数据库系统 数据分配方式
( )集中式 所有数据片段都安排在同一个场地上
( )分割式
所有数据只有一份 它被分割成若干逻辑片段 每个逻辑片段被指派在一个特定的场地上
( )全复制式 数据在每个场地重复存储 也就是每个场地上都有一个完整的数据副本
( )混合式 这是一种介乎于分割式和全复制式之间的分配方式
八 分布式数据库系统 体系结构
数据分片和数据分配概念的分离 形成了 数据分布独立型 概念
数据冗余的显式控制 数据在各个场地的分配情况在分配模式中一目了然 便于系统管理
局部DBMS的独立性 这个特征也称为 局部映射透明性 此特征允许我们在不考虑局部DBMS专用数据模型的情况下 研究DDB管理的有关问题
九 分布式数据库管理系统
接受用户请求 并判定把它送到哪里 或必须访问哪些计算机才能满足该要求
访问网络数据字典 了解如何请求和使用其中的信息
如果目标数据存储于系统的多个计算机上 就必须进行分布式处理
通信接口功能 在用户 局部DBMS和其他计算机的DBMS之间进行协调
在一个异构型分布式处理环境中 还需提供数据和进程移植的支持 这里的异构型是指各个场地的硬件 软件之间存在着差别
分布式数据库管理系统
lishixinzhi/Article/program/Oracle/201311/16998
分布式:服务分散部署在不同服务器组成一个整体应用,分散压力,解决高并发。
假设访问量特别大,就可以做成分布式,将一个大项目拆分出来单独运行。跟cdn一样的机制。
Redis分布式:将redis中的数据分布到不同的服务器上,每台服务器存储不同内容。Mysql集群是每台服务器都存放相同数据。分布式部署:系统应用部署在2台或以上服务器或虚拟机上,服务间通过RPC、WCF(包含WebService)等交互,即可称作分布式部署。微服务也算作分布式的一种,反之则不然。分布式优点:1、将模块拆分,使用接口通信,降低模块之间的耦合度。2、将项目拆分成若干个子项目,不同团队负责不同子项目。3、增加功能时只需再加一个子项目,调用其它系统接口即可。4、可灵活进行分布式部署。5、提高代码的复用性,比如service层,如果不采用分布式rest服务方式架构,在手机Wap商城、微信商城、PC、Android、ios每个端都要写一个service层逻辑,开发量大,难以维护和一起升级,此时可采用分布式rest服务方式共用一个service层。缺点:系统之间交互要使用远程通信,接口开发增大工作量,但利大于弊。微服务:可单独部署运行的微小服务,一个服务只完成单一功能分散能力,服务之间通过RPC等交互,至少有一个数据库。用户量过大高并发时,建议将应用拆解为多个子系统,各自隔离,独立负责功能。缺点:服务数量大,后期运维较难。分布式、微服务区别:分布式依赖整体组合,是系统的部署方式;微服务是架构设计方式,粒度更小,服务之间耦合度更低。独立小团队负责,敏捷性更高。集群:多台服务器复制部署相同应用,由负载均衡共同对外提供服务,逻辑功能仍是单体应用。项目如果跑在一台机器上,这台机器如果出现故障,或者用户请求量比较高一台机器支撑不住,网站可能就访问不了。那怎么解决呢?就需要使用多台机器,复制部署一样的程序,让几个机器同时运行网站。那怎么分发请求到所有机器上?所以负载均衡的概念就出现了。负载均衡:将请求分发以分摊服务器压力。基于反向代理能将所有的请求根据指定的策略算法,分发到不同的服务器上。实现负载均衡常用Nginx、LVS。负载均衡服务器出现问题了怎么办?所有冗余的概念就出现了。冗余:两台或多台服务器,一个主服务器,一个从服务器。假设一个主服务器的负载均衡服务器出现问题,从服务器能替代主服务器来继续负载均衡。实现的方式就是使用Keepalive来抢占虚拟主机。双机双工模式:目前Cluster(集群)的一种形式,两台服务器均为活动状态,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份。WEB服务器或FTP服务器等用此种方式比较多。实现多台服务器代码(文件)同步方案:1、负载均衡中实现代码同步rsync。2、rsync+inotify逐一文件监听并实时同步。3、实现redis共享session。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)