大并发量访问架构分析

MarcelR08 8年前
   <p>一、系统并发访问量的等级</p>    <p>信息系统基本模型是:C/S 结构,即“客户”与“服务器”的结构形式。任何信息</p>    <p>系统结构(无论是 B/S ,B/S/S,C/S/S)都可以抽象为简单的 C/S 结构。</p>    <p><img src="https://simg.open-open.com/show/6794a60d88727ce8091d5bb9755d3dcf.jpg"></p>    <p>图,客户服务器结构信息系统</p>    <p>当大量“客户”同时访问一个“服务器”时,“服务器”面临的是大并发访问的技 术和架构问题。大并发访问的等级可以分为“超出连接”、“超出时限”和“超出应用 负载”三种。</p>    <p>1.1超出连接</p>    <p><img src="https://simg.open-open.com/show/952e13a6b7070ed5d247cbabec5dae57.jpg"></p>    <p>图,访问请求超出连接容量</p>    <p>当客户的连接超出数据库的连接数或并发处理能力,当时没有超出服务器的瞬间处</p>    <p>理能力,可以采用“访问队列”进行排队。提高用户体验。</p>    <p>比如,数据库的并行处理是 10 访问请求,“瞬间处理能力”为 2 秒中内处理 1000</p>    <p>个请求。当最大并发客户访问请求是 1000 个,如果不加队列,将有 1000-10=990 个客 户请求失败。如果应用“访问队列”,在不到 2 秒的瞬间,数据库处理完毕这 1000 个</p>    <p>访问请求。全部客户体验良好。</p>    <p><img src="https://simg.open-open.com/show/797e1b5f92de85d77bfdbc24498af6bf.jpg"></p>    <p>图,访问队列管理服务结构</p>    <p>所以,当并发量超出并发处理能力,而在瞬间处理范围内时,“访问队列服务”是</p>    <p>有效的方法。</p>    <p>1.2超出时限</p>    <p>同样是并行处理能力是 10 个访问,2 秒可以处理 1000 个请求,当最大并发客户访</p>    <p>问请求是 10000 个时,会出现等待 10 秒到 20 秒的请求。设客户端可以容许的超时为 4</p>    <p>秒。则需要新的手段提高服务器的瞬间处理能力。</p>    <p><img src="https://simg.open-open.com/show/ab488268a38674a1c146c8c14afb5427.jpg"></p>    <p>图,应用服务结构</p>    <p>由于数据库系统的并行处理能力比较低,相同的运算在数据库系统中比在操作系统 中要慢。所以将可以分离出的运算程序由数据库移出,在“访问队列服务”层执行,将</p>    <p>会大大提供整个服务器的处理能力。</p>    <p>承担了访问队列管理和一部分业务运算功能的中间服务,称为“应用服务”。</p>    <p>1.3超出应用负载</p>    <p>如果承担了大量的业务运算功能的“应用服务”的处理能力成为系统效率的瓶颈,</p>    <p>即队列压力超出“应用服务”的处理能力,则需要将“应用服务”进行扩展。</p>    <p><img src="https://simg.open-open.com/show/8d42d99030860a20195c448d21511798.jpg"></p>    <p>图,应用服务扩展</p>    <p>扩展的方法是在不同的设备上同时启动应用服务,形成一个“应用服务群”,多个 服务分担业务处理请求,并保证每个“应用服务”有充足的系统资源。</p>    <p>二、应用服务器架构分析 <strong>----- ISFRAME</strong> <strong>DA</strong></p>    <p>数据访问中间件 DA(Data Access)系统架构中间件 ISFRAME 的一部分。DA 主要解</p>    <p>决业务访问的技术问题和逻辑控制。</p>    <p>2.1 ISFRAME DA架构:结构清晰,易于开发和维护</p>    <p><img src="https://simg.open-open.com/show/b0686361d39fd5431edd17ba2f36da63.jpg"></p>    <p>图,ISFRAME DA 应用服务器架构</p>    <p>ISFRAME DA 架构依次为访问请求、负载均衡器、应用服务群组、被访问资源。</p>    <p>访问请求包括来自于“终端程序”和来自于“其它应用服务器”的访问请求。</p>    <p>“负载均衡器”将访问请求分配给较空闲的“DA 服务”。</p>    <p>“DA 服务”既包含“访问队列管理”,又包含了业务操作。多个“DA 服务”构成</p>    <p>应用服务群组。</p>    <p>“DA 服务”访问“被访问资源”,“被访问资源”包括“本地数据”和“其它应</p>    <p>用服务器”</p>    <p>2.2 ISFRAME DA的队列管理:入队列访问排队,出队列面向资源</p>    <p>DA 应用服务器接收来自客户终端和其它应用服务器的访问请求,并发起对本地数</p>    <p>据资源和其他应用服务器的访问,管理“入”和“出”两种队列。</p>    <p>2.3 ISFRAME DA的应用挂载:直接执行多种程序,避免数据库接口开发,</p>    <p>方便业务功能扩展和升级</p>    <p>DA 服务中可以通过定义的方式,将业务操作“挂载”到 DA 服务上。DA 服务可以</p>    <p>执行动态库函数、存储过程、可执行程序、全程指令多种操作。且定义简单,减少了程</p>    <p>序编写。</p>    <p>DA 的应用程序挂载功能,方便业务系统的功能扩展和修改。</p>    <p>2.4 ISFRAME DA的负载均衡:负载均衡,应用服务动态扩展</p>    <p>DA 的负载均衡功能使“DA 服务”可以动态增、减等扩展。</p>    <p>2.5 ISFRAME DA多点协同作业:跨节点协作,实现系统的整体功能,使</p>    <p>系统高效、灵活</p>    <p>DA 应用服务器可以接收其他服务器的指令,并可以向其它服务器发送指令。该功</p>    <p>能完成 S/S 的访问和协同作业。多个服务器联合完成一个客户端的指令。</p>    <p>ISFRAME DA 是访问管理的高效中间件,接口简单,应用方便,减少编程开发。很少</p>    <p>的投入,就可以迅速构建起复杂的业务系统。</p>    <p>文章标签: <a href="/misc/goto?guid=4959713382305518173" rel="nofollow,noindex"> 架构 </a></p>    <p>关注微信公众号“架构说”,加入Q群微群,让架构师带你飞︿( ̄︶ ̄)︿。</p>    <p><img src="https://simg.open-open.com/show/f94b7acf1b77ef9abded7c8a04bdca84.jpg"></p>    <p>原文链接: <a href="/misc/goto?guid=4959713382404913639" rel="nofollow,noindex">阅读原文</a> <strong>免责申明:</strong> 架构说任何转载的文章都会明确标注原文链接。如有侵权,请与本站联系。 <strong>转载说明:</strong> 架构说原创文章转载时请务必注明文章作者、链接和来源。</p>    <p> </p>    <p>来自:http://www.jiagoushuo.com/article/1000466.html</p>    <p> </p>