应用程序扩展性实现的十宗罪

标签: 应用程序 扩展 十宗 | 发表时间:2013-06-14 19:42 | 作者:
出处:http://www.iteye.com
可扩展性方面专家Sean Hull曾发表文章指出实现 可扩展性的五大毒药,最近他又指出了实现 可扩展性的五大致命错误

一、缓慢的磁盘I/O - RAID 5 -多用户的EBS。RAID 10可以提供良好的数据保护,同时具备良好 的读写性能。RAID 5设计意味着性能差,失败后修复时间长。在AWS上考虑使用预设的IOPS解决IO瓶颈问题。

二、使用数据库存储作业队列。数据库看起来很适合存储作业队列,但是轻负载的锁定以及日常的扫描 工作都会影响性能。使用类似RabbitMQ和SQS的专业软件可以消除这个瓶颈。

三、使用全文搜索。搜索似乎是数据库另一个完美的特性。但是大规模的搜索性能并不高,最好使用类 似Solr和Sphinx的专业技术。

四、在各层之间缓存不足。在应用程序和数据库之间使用memcache,在用户和Web服务器之间加载类似 于Varnish的页面缓存。为你的HTML选择合适的缓存。

五、太多的技术负债。重写问题代码,而不是持续完善写得不好的代码,因为从长期来看,这并不划算 。

六、对象关系映射。创建很难优化和调整的复杂查询。

七、同步,串行,耦合或锁定进程。锁就像停止标志,环岛才能保持道路畅通。行锁优先于表锁,采用异步复制,保持集群的最终一致性。

八、一个数据库副本。单一的数据库是一个瓶颈点。创建平行的数据库,让驱动程序在它们之间做选择。

九、缺乏监测。使用众多监控软件包之一,检测系统正在运行着什么。

十、缺少功能标识。能够通过一个标识关闭某些功能特性,峰值来袭时可以轻松的关闭功能降低负载。

原文链接: The 10 Deadly Sins Against Scalability / 翻译: CSDN

感谢 WnouM 投递这篇资讯

资讯来源: CSDN

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [应用程序 扩展 十宗] 推荐:

应用程序扩展性实现的十宗罪

- - ITeye资讯频道
可扩展性方面专家Sean Hull曾发表文章指出实现 可扩展性的五大毒药,最近他又指出了实现 可扩展性的五大致命错误. 一、缓慢的磁盘I/O - RAID 5 -多用户的EBS. RAID 10可以提供良好的数据保护,同时具备良好 的读写性能. RAID 5设计意味着性能差,失败后修复时间长. 在AWS上考虑使用预设的IOPS解决IO瓶颈问题.

我使用的几个好用的Chrome应用程序和扩展

- - 博客园_首页
(刚才图片挂了,现在好了,不好意思)谷歌Chrome自推出以来已经从一个简单的浏览器演变成一个复杂的浏览器,这得益于根据浏览器写出的非常有用和强大的扩展. 作为一名开发人员,我们关注的是网页设计和开发部分的那些插件对我们有帮助,几个比较熟悉的插件像Firebug Lite和Web Developer大家都知道,我就不扯了,今天扯一下那些你可能不知道的对于开发非常有帮助的插件,在此做个总结,看看你用过几个,我敢肯定你会发现它们非常有用.

事件流如何提高应用程序的扩展性、可靠性和可维护性

- - 博客园_知识库
  关于事件流处理,在不同的场景中有不同的概念. 有人称之为流处理,有人称之为事件溯源或CQRS,还有人称之为“复杂事件处理(Complex Event Processing)”. 不管名称是什么,它们的基本原则都是一样的. Martin Kleppmann是 Apache Samza的贡献者. 在本文中,我们将跟随 他的思路深入理解这些概念,以便帮助我们设计更好的系统.

Android 应用程序

- - CSDN博客推荐文章
Android 应用程序由四个模块构造而成:Activity、Intent 、Content Provider 、Service. 下面简单介绍一下如下模块的含义:. 1、Activity  "活动". 一个Activity就是单独的屏幕,每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口并对事件作出响应.

iPhone应用程序推荐

- sylvia - 月光博客
  本文将为大家推荐一些笔者非常喜欢的iPhone应用程序. 注意,并不怎么包括游戏,因为笔者不太喜欢玩游戏,要玩也只玩小游戏. 这也有些遗憾,毕竟iPhone最大的卖点就是丰富的游戏了. 本文主要是推荐实用的软件和系统工具. 对新手应该帮助比较大,老鸟们也可以参考一下. 而且本文也不提供下载链接与安装方法.

Android 一个应用程序调用另一个应用程序

- - CSDN博客推荐文章
实现行业应用调用我们可以Get到哪些技能. * Activity的singleTask的启动模式 * 界面跳转的基本实现 * 前台Service的基本介绍和实现 * SharedPreference的简单用法. 在XHL应用程序中去调用MPos应用程序,借助MPos的一些界面完成特殊的功能. (1)创建名为XHL的应用程序.

优秀的WEB应用程序

- DayuLu - 互联网的那点事
今天我们将分享给大家一批优秀的WEB应用程序. 比如,大家可能用过在线的调色工具,Adobe也推出过在线的Photoshop软件. 这些程序或许就是未来软件程序的基础. 随着云处理和网络速度的飞速发展,这将是个好的趋势. 人们只需要一台在线的电脑就可以找到需要的应用程序,而不需要在自己电脑上安装复杂的文件.

Eclipse开发Android应用程序入门

- Bingnan - 酷壳 - CoolShell.cn
原文出处:http://www.smashingmagazine.com/2010/10/25/get-started-developing-for-android-with-eclipse/. 如今的移动设备应用程序开发充满着让人振奋的东西. 功能强大的硬件支持,平板电脑,多样的软件平台(塞班 OS,iOS,WebOS,Windows Phone 7…),移动设备开发者前景充满了机会和挑战.

开源应用程序架构

- WCM - LinuxTOY
建筑师会在训练过程中学习并了解上千年来由不同大师所设计的建筑,而软件工程师却鲜有这样的机会去了解现实中的软件架构是什么样子. 该书列举了以下开源软件架构设计:. 该书依照 Creative Commons Attribution 3.0 Unported 发布,既可以在线阅读,也可以在 Lulu 上购买纸质印刷版本和 PDF 电子书版本(其他格式的电子书版本正在制作中).

Web应用程序的开发步骤

- xxg - 月光博客
  如今已进入了web2.0高速发展的互联网时代,各种互联网的Web应用程序如雨后春笋般出现. 那么作为一名Web开发人员,怎样去开发一款优秀的Web应用程序呢. 这个问题没有一个简单的答案,甚至那些教育机构都未必能清楚的知道. 所以,像大多数在这个领域里的web开发人员一样,我们只是通过去做,去实验才学会了这些.