<< Tungsten Replicator - data replication engine for MySQL | 首页 | 从LiveJournal学习大规模网站架构 >>

eBay的架构

eBay.com肯定是世界上最大的Java系统之一:
  •        eBay管理着212,000,000多注册用户、十亿多张图片
  •        全世界的eBay用户每秒交易价值超过$1590的商品
  •        平均每天浏览10亿多个页面
  •        在任何时刻,网站里有大约105百万个清单
  •        eBay存储了超过2Petabytes的数据
  •        eBay平台每个月处理30亿个API调用
  •        每个季度变化300个以上的功能
  •        每两个星期修改100000行以上代码
  •        eBay在33个国家,7种语言,24*7运行着
  •        eBay每天执行260亿个SQL
  •        达到99.84%的可用性
      

eBay的架构

eBay,首先它是一个Java系统,基于NT的Websphere应用服务器和solaris的Oracle数据库服务器。
 
下面这个图可以清晰地说明它的服务驱动网络架构:
 
 
下面是应用程序架构图:
eBay application architecture
 
下面是架构的一些特征:

数据库方面:

分散数据库负荷:
       功能分割:分割数据库到功能区域,如用户主机,帐务主机,事务主机,反馈主机等
       功能里再水平分割:通过主访问路径水平分离数据库;不同的用例用不同的模式,写主数据库读备数据库
      
逻辑化数据库主机:
       将分好的数据库主机部署为逻辑数据库
      
最小化使用数据库资源:
       数据库不处理业务逻辑:没有任何存储过程,只有非常简单的触发器
       把耗CPU的工作留给应用层:关联的完整性,连接(查询),排序
       广泛地使用prepared statement和绑定变量
 
最小化数据库事务:
       没有客户端事务,没有分布式事务
       设置事务自动提交
      

应用服务器方面:

分散应用负荷:
       功能分割:把功能分割进不同的应用池,最小化数据库依赖,允许平行开发、部署、监控
       功能里再水平负载均衡
 
最小化依赖:
       在应用之间
       在应用功能之间
       从应用到数据库资源之间
      
J2EE方面:
       扔掉大部分J2EE
       让应用层保持无状态
       在任何可能的地方缓存数据
      
       采用分层技术:表现层、业务层、集成层(DAO)
 
以上资料来自于 eBay的架构eBay Creates Technology Architecture for the Future



发表评论 发送引用通报