`
jimcgnu
  • 浏览: 35533 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ebay Architecure notes

阅读更多
From: http://netmesh.info/jernst/Comments/sdforum-ebay-architecture.html

This week, I attended a very interesting presentation by Dan Pritchett and Randy Shoup, both senior technologists at eBay, on eBay's architecture. Some of it was as I would have expected, other things were, shall we say, counter-intuitive. Here is a random collection of notes, with some special exclamation marks:

  • 212 million registered users, 1 billion photos
  • 1 billion page views a day, 105 million listings, 2 petabytes of data, 3 billion API calls a month
  • something like a factor of 35 in page views, e-mails sent, bandwidth from June 1999 to Q3/2006.
  • 99.94% availability, measured as "all parts of site functional to everybody" vs. at least one part of a site not functional to some users somewhere
  • 15,000 application servers, all J2EE. About 100 groups of functionality aka "apps". Notion of a "pool": "all the machines that deal with selling"... Well over 200 databases.
  • Everything is planned with the question "what if load increases by 10x". Scaling only horizontal, not vertical: many parallel boxes.
  • leverages MSXML framework for presentation layer (even in Java)
  • Oracle databases, WebSphere Java (still 1.3.1)
  • split databases by primary access path, modulo on a key
  • every database has at least 3 on-line databases. Distributed over 8 data centers
  • some database copies run 15 min behind, 4 hours behind
  • no stored procedures. some very simple triggers.
  • move cpu-intensive work moved out of the database layer to applications applications layer: referential integrity, joins, sorting done in the application layer! Reasoning: app servers are cheap, databases are the bottleneck.
  • no client-side transactions. no distributed transactions
  • J2EE: use servlets, JDBC, connection pools (with rewrite). Not much else.
  • no state information in application tier. transient state maintained in cookie or scratch database
  • app servers do not talk to each other -- strict layering of architecture
  • Search, in 2002: 9 hours to update the index running on largest Sun box available -- not keeping up
  • Average item on site changes its search data 5 times before it is sold (e.g. price), so real-time search results are extremely important.
  • "Voyager": real-time feeder infrastructure built by eBay.. Uses reliable multicast from primary database to search nodes, in-memory search index, horizontal segmentation, N slices, load-balances over M instances, cache queries
分享到:
评论

相关推荐

    体系结构设计 案例 2-Course Registration System Software Architecure document.doc )

    体系结构设计 案例 2-Course Registration System Software Architecure document.doc ) 软件体系结构设计标准规范

    computer architecure tutorial

    计算机架构是IT领域中的核心概念,它涉及到计算机系统的基础设计,包括硬件、软件以及它们之间的交互方式。"Computer Architecture Tutorial" 提供了深入理解和学习这一主题的资源,尤其适合正在学习计算机系统结构...

    viper-architecure-poc-ios

    通过"viper-architecure-poc-ios-master"这个项目,你可以深入学习VIPER架构在实际项目中的应用,包括各组件的定义、交互方式以及如何在Swift中构建一个遵循VIPER原则的iOS应用。这将帮助你提升代码质量,优化开发...

    16BitGateCPU:用于sogisim中的16位CPU的Architecure

    16BitGateCPU是一款专为sogisim设计的16位CPU架构,它提供了高效、灵活的计算能力,能够处理各种复杂的指令集和数据操作。在这个架构中,设计者考虑了性能、功耗和可扩展性等多个关键因素,使得16BitGateCPU成为模拟...

    chromium multi-process

    chromium multi-process architecure

    Web-Architecure:我四年级关于Web应用程序体系结构的工作

    网络架构 我四年级关于Web应用程序体系结构的工作 作业3:制作电影测验 在这项工作中,我必须将网页连接到现有的API:TMDB(电影数据库),以创建有关电影的测验。 目的是找到给定电影的一个演员或导演,然后是其中...

    LightRiverToolkit:提供一个库帮助开发.NET App(主要针对Windows StoreWindows Phone)在Net request and response helper classes和architecure中最在architech

    LightRiverToolkit 提供一些开发上累积的一些架构经验的程式码,希望可以减少开发上的一些功夫目前支援的平台是.NET 4.5.1 & Windows Store 8.1 & Windows Phone 8.1 ,但应该如果要向下支援应该也不是难事##...

    Assignment 1.zip_单片机开发_Visual_C++_

    SDN Architecure based on NFV

    Computer Architecture 5th, A Quantitative Approach for interconnect

    It is the most popular book for computer architecure. Even Princeton University uses this book for the course. Details are described for new/advanced players in the field of computer micro arch design...

    pjsip2.4全平台支持静态库,支持 x86_64 armv7 armv7s i386 arm64

    本人发布基于siphon的应用时,苹果提示必须支持64位模式,将项目Architecure修改为$(ARCHS_STANDARD)后,发现编译错误,然后参照OS 之 PJSIP 笔记(一) 编译多平台支持的静态库 ...发现真机可以运行了,但模拟器运行不...

    SwiftFlux, Swift的类型安全流量实现.zip

    SwiftFlux, Swift的类型安全流量实现 SwiftFlux SwiftFlux是 facebook architecure的流量的实现。它提供了"单向数据流"的概念,用 Swift 语言提供了收费的安全模块。操作负载的类型是从它的操作的类型推断出来的。...

    ML_for_kirigami_design:使用深度学习为石墨烯kirigami建模和执行拓扑优化的Python包

    我们使用卷积神经网络(类似于VGGNet architecure)进行回归。 纸 请参阅我们发表的论文: 一般用法 数据生成和数据处理 用于生成输入文件的原子配置的Jupyter笔记本在generate_LAMMPS_input/generate_LAMMPS_...

    智能楼宇概述.pptx

    智能楼宇技术被概括为“3C+A”技术,即计算机(Computer)、控制(Control)、通信(Communication)和建筑(Architecure)的结合。这四个领域的技术共同构成了智能楼宇的基础。 智能楼宇系统主要由三个核心部分...

    FPGA实验及基本程序汇总(Verilog).docx

    在VHDL语言中,一个完整的程序由五个基本结构组成:实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION)、库(LIBRARY)和程序包(PACKAGE)。实体定义了设计的输入输出,结构体则描述其实现。程序包用于...

    FPGA期末复习题(答案)知识点题型.docx

    VHDL程序包括实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION)、库(LIBRARY)和程序包(PACKAGE)。实体描述接口,结构体定义功能,程序包存储共享元素,库则存储编译好的设计组件。 10. 常用VHDL库...

    FPGA期末复习题(答案)知识点题型.pdf

    VHDL程序由实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION)、库(LIBRARY)和程序包(PACKAGE)组成。实体描述接口,结构体定义功能,程序包存储共享元素,库则存储编译过的组件。 9. 常用库介绍:...

    FPGA考试复习资料.docx

    VHDL语言程序由五个基本结构组成:实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION)、库(LIBRARY)和程序包(PACKAGE)。实体描述设计的输入和输出,结构体定义设计的行为和结构,配置用于指定实体和...

    FPGA (3).pdf

    VHDL语言包括五个基本结构:实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION)、库(LIBRARY)和程序包(PACKAGE)。实体描述了设计的输入/输出接口,结构体则定义了具体实现。程序包用于存储共享的...

    架构模式和重构好书合集

    收集了架构师必读的参考书目,包括: Addison.Wesley.Applying.Domain.Driven.Design.and.Patterns.With.Examples.in.C.Sharp.and.dot.NET.May.2006.chm Addison.Wesley.Domain.Driven.Design.Tackling.Complexity....

    洋葱建筑实例

    【压缩包子文件的文件名称列表】:"Onion-Architecure-Example-master"可能是一个GitHub仓库的克隆或下载,其中包含整个项目的源代码和相关资源。"master"分支通常是项目的主要分支,用于存放稳定版本的代码。我们...

Global site tag (gtag.js) - Google Analytics