如何架构和开发高性能,高伸缩性web+应用系统@ibm

如何架构和开发高性能,高伸缩性web+应用系统@ibm

ID:32008116

大小:3.07 MB

页数:51页

时间:2019-01-30

如何架构和开发高性能,高伸缩性web+应用系统@ibm_第1页
如何架构和开发高性能,高伸缩性web+应用系统@ibm_第2页
如何架构和开发高性能,高伸缩性web+应用系统@ibm_第3页
如何架构和开发高性能,高伸缩性web+应用系统@ibm_第4页
如何架构和开发高性能,高伸缩性web+应用系统@ibm_第5页
资源描述:

《如何架构和开发高性能,高伸缩性web+应用系统@ibm》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何架构和开发高性能,高伸缩性WEB应用系统软件架构师童景文AgendaBASE理论简介:ACID理论的另外选择可伸缩性最佳实践准则几点架构建议经典架构前言前言在我们给客户构建相应的WEB应用系统中,会使用J2EE架构/.NET架构/LAMP架构之一或者其中的混合。在很多场合下我们是不需要考虑整个系统的可伸缩性以具备更好的性能(例如高吞吐量和低响应时间);因为我们有足够强的硬件资源和用户的压力并不大或者受到项目资源的问题(例如项目的预算,人力资源,技术风险等)。但是对于有些场合下,例如用户的并发用户数很高并且有足

2、够的项目预算或者项目预算也比较充分并且我们需要让我们的软件价值更好地体现(例如我们不需要使用昂贵的硬件资源,仅仅可以利用低成本的硬件就可以让整个系统具有很好的性能和可靠性)。我们就非常地需要考虑整个应用系统的高可伸缩性的设计。当然如果不考虑场合,我们对所有的应用系统的设计都需要考虑高可伸缩性的设计那我们的应用系统将非常地具有竞争力。并且对我们的技术人员(架构师/开发人员/测试人员)来说提升相应的技术能力对自己本身和对公司来说都是百益而无一害。前言误区:很多技术人员(架构师,开发人员等)受到各种外部因素和自我因素的

3、影响都会觉得借助各种系统软件(操作系统,数据库系统,中间件等)的强大功能和强大的硬件资源能够为我们解决应用系统高可伸缩性的问题以达到很高的性能和可靠性;例如买更好的硬件资源(更强劲的服务器,存储),实施数据库集群(例如ORACLERAC),实施中间件集群和均衡负载(例如WAS集群和F5硬件均衡负载器),调优(例如数据库调优,硬件调整,操作系统调优,中间件调优).但是这种方式只能解决一定层次上的问题,并不能解决根本问题;往往带来的结果是花了更多的钱而办不好事情。当然这种方式是需要做的特别是调优但是我们不能过度(例如

4、没有必要买更多的更好的机器,没有必要做ORACLERAC等)。前言挑战:可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。对于大并发量的用户核心业务应用系统,可伸缩性是生死交关的问题。在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量。如果说性能衡量的是每一工作单元所需的资源消耗,可伸缩性则是衡量当工作单元的数量或尺寸增加时,资源消耗的变化情况。换句话说,可伸缩性是整个价格-性能曲线的形状,而不是曲线上某一点的取值。并且我

5、们需要达到以下几点:1.资源利用率能够随着负载的增长能够线性增长。形象点就是说,如果负载不断地增加,我们能够通过不断的添加机器(通过负载均衡机制)来处理;并且系统的响应时间不会产生剧烈的波动2.系统的架构设计应该能够面对系统数据、用户数增长10倍以上的情况。形象点说:如果现在的系统能够承受10000个用户的使用,那系统现在的这个设计能够承受10万个用户的使用。3.由于整个系统将是由多台机器之间协同工作,单台机器的失效、以及性能严重退化不会影响到整个系统的对外提供的较好地服务质量。4.系统能够提供一个稳定的响应时间

6、,不能出现剧烈的波动。5.系统监控、管理起来方面简单,并且通过相应的诊断日志和工具能够很方便的定位出错误的原因和性能的瓶颈所在。AgendaBASE理论简介:ACID理论的另外选择可伸缩性最佳实践准则几点架构建议经典架构前言经典架构下图所示的是一个我们最喜欢用的经典的应用分层架构设计图。J2EE架构经典实现:一般来说我们会使用Structs/WebWork+Spring+Hibernate/iBitas来进行实现,.NET架构基本也是如此;并且会引入相应的Ajax框架(例如YUI,DOJO,EXTJS,GWT,P

7、ROTYPEetc).一种改良实现:UI(用户界面逻辑)采用php/asp.net/flex/html5进行开发,业务逻辑层和数据访问层采用JAVA进行开发。UI(用户界面逻辑)层与业务逻辑层采用RESTWebService进行集成。经典架构下图所示的是我们最经典的部署架构之一(包括应用服务器集群和数据库服务器HA)。经典架构下图所示的是我们最经典的部署架构之一(包括应用服务器集群和数据库服务集群)。经典架构部署TIPS:1.除了运行数据库的机器建议运行在小型机上特别是IBMP小型机上;其它都建议运行在PC服务器

8、或者刀片服务器上。因为数据库系统稳定第一,并且伸缩性扩展能力交较差;而应用服务器的可伸缩性能力/集群能力非常好(只要应用设计上没有太大的问题).并且在部署的时候都要对相应的操作系统进行打补丁和进行相应的内核参数调优,网络参数调优等;数据库系统也要进行补丁和调优;应用服务器也要进行补丁和调优。经典架构部署TIPS:2.有时候在实施一个比较大的应用服务器集群的时候,例如HTT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。