InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

文章:可伸缩性最佳实践──来自eBay的经验

作者 Randy Shoup 译者 郭晓刚 发布于 2008年6月12日

领域
架构 & 设计
主题
性能和可伸缩性 ,
架构 ,
设计
标签
eBay

eBay作为一家高流量、高负载、拥有海量数据的网站,可伸缩性是关乎生死的问题,每一项架构决策都不得不把可伸缩性摆在首要地位。eBay架构师Randy Shoup与我们分享了他们总结出来的几条最佳实践:

  1. 按功能分割
  2. 水平切分
  3. 避免分布式事务
  4. 用异步策略解耦程序
  5. 将过程转变为异步的流
  6. 虚拟化所有层次
  7. 适当地使用缓存

Randy Shoup在文章最后再一次强调了可伸缩性的重要:

可伸缩性有时候被叫做“非功能性需求”,言下之意是它与功能无关,也就比较不重要。这么说简直错到了极点。我的观点是,可伸缩性是功能的先决条件——优先级为0的需求,比一切需求的优先级都高。

希望eBay的经验能对各位读者有用,希望能帮助您从新的角度审视自己的系统,无论其规模如何。

阅读全文:可伸缩性最佳实践:来自eBay的经验

译者 郭晓刚 是InfoQ中文站架构社区编辑,创建并终结过数家软件小企业,翻译过多本技术书籍。

异步和切分已经比较有体会 发表人 liu pi1ot 发表于
刚刚看到还有个全文连接... 发表人 liu pi1ot 发表于
Re: 异步和切分已经比较有体会 发表人 Zhou Mi 发表于
虚拟化所有层次的体会 发表人 谢 海洋 发表于
Re: 虚拟化所有层次的体会 发表人 Xiao WenFeng 发表于
Re: 虚拟化所有层次的体会 发表人 chen struct 发表于
确实很经典的说法 发表人 zhiguo liu 发表于
说的真是不错~ 发表人 周 宇 发表于
  1. 返回顶部

    异步和切分已经比较有体会

    发表人 liu pi1ot

    异步和切分已经比较有体会,对于大流量系统确实很重要,不过第6点:虚拟化所有层次,是什么意思,我还理解不了

  2. 返回顶部

    刚刚看到还有个全文连接...

    发表人 liu pi1ot

    不好意思 :)

  3. 返回顶部

    Re: 异步和切分已经比较有体会

    发表人 Zhou Mi

    异步和切分已经比较有体会,对于大流量系统确实很重要,不过第6点:虚拟化所有层次,是什么意思,我还理解不了


    我的理解是:其实跟模块解耦类似,将整个系统分层,比如有Web展现、业务逻辑、数据存储等若干个层次,分层的好处在于各个层的设计、开发、维护可以相对独立,类似“对接口的编程”思想。

    就拿它举的虚化数据库的例子来说吧,因为采用了各种数据拆分策略,所以业务逻辑在进行数据操作的时候可能需要操作不同服务器、不同数据表里的数据,这样增加了业务开发、维护的成本,尤其是在大规模系统中,业务功能点众多且复杂,这样的成本不能忽略;而增加一个虚拟数据层后,业务逻辑只跟这个层打交道,不需要知道数据的物理存储方式

  4. 返回顶部

    虚拟化所有层次的体会

    发表人 谢 海洋

    数据库厂商如果能提供虚拟化的数据库层应该很不错,我孤陋寡闻,是不是已经有这样的产品了?

  5. 返回顶部

    Re: 虚拟化所有层次的体会

    发表人 Xiao WenFeng

    我想Oracle收购Tangosol以后提供的数据网格(Data Grid)应该就是这样的东东吧。

  6. 返回顶部

    Re: 虚拟化所有层次的体会

    发表人 chen struct

    象Ebay 这样的大型网站,数据切分肯定是少不了。
    不知道ebay水平切分如何做?

    如果用 amoeba for mysql,进行数据库水平切分、垂直切分、读写分离都应该非常轻松,当然前提是目前amoeba只支持mysql。

  7. 返回顶部

    确实很经典的说法

    发表人 zhiguo liu

    我想有一个问题,大家一般如何保证这些活动的一致性。比如像Ebay这样的公司,如果保证设计、实现的一致性,应该主要是设计的统一性。

  8. 返回顶部

    说的真是不错~

    发表人 周 宇

    很多解决办法以前都用过。但是没有进行系统的总结。看到这个上面说的。有一种豁然开朗的感觉。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffery Richter:Windows 8是微软的重中之重

Jeffery Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffery Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。