`
lirig
  • 浏览: 237628 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多

      去年的时候,就了解了ebay的架构了,只是很多事情没有亲身经历,很难深有体会。离去年的Qcon大会快一年了,今年的也快召开了,时光流逝,真是人事变迁,我回深圳也快一年了。今天有空也来班门弄斧一下。


ebay是电子商务网站,一个电子事务网站一定要保证交易的完整性,这个和淘宝一样。ebay的架构特点:


Partition Everything

     当一个网站刚开始时,可能一天只有几十个人访问,或者几百个,可能一台普通的服务器就足够了,db和应用统统都可以放在一起,可是随着用户的增加,业务的增加,一台服务器远远不够了,就自然想增加服务器,系统应该跟随改变。多一台服务器,也就减轻了一台压力。这样就出现了分割业务和分割数据。

     其实要做到恰到好处,也非常不容易,ebay按照业务功能水平划分应用,水平划分数据库。这个在国内好多网站都是这样做,不足为奇了,不过水平划分功能后,单个功能应用的分割也大有文章可做。怎么划分,很早以前ebay的架构文档说到这个事情。

在水平按照业务划分数据库后可以再根据一定的规则划分表数,其中规则有很多,可以按照主要业务生产者为引导进行分割,所有数据跟随生产者一起,至于什么规则可以各抒己见。


Asynchrony Everywhere

     同步应用会带来强耦合,可用性保障差,特别是在用户体验方面极度失败,试想一个网站首页要获取那么多业务信息如果同步的话会流失很大一部份用户,如果再加上网络慢,等到蚊子都睡觉了,人哪里还有时间看,其实分布式系统应该尽量使用异步处理。

     EBay的应对策略为:事件驱动和pipeline、多播消息,涉及的技术为:消息中间件(无序、至少一次到达)、基于SRM技术的可靠多播。


Automate Everything

     配置信息的动态化,涉及的技术:配置发布/订阅机制的实现、机器学习。这个超级牛,不知道国内有多少网站做到了,听说淘宝做到了(呵呵)。


Remember Everything Fails

故障检测和回滚

     这个现在很多网站都做,不过ebay做地比较牛,ebay差不多每天有2TB 的日志,通过监控事件作出有效的判断和预警,淘宝也做得很好。

      eBay的应对策略为:异常后发消息、接收者获取消息警报、按功能实现降级,保障核心功能的可用性,涉及的技术有:消息中间件、如何实现按功能降级。


 Embrace Inconsistency

     其实这个有点象我们整天说的“拥抱变化”。在系统中如果事务过多,极大影响性能,特别是分布式事务,如果一味追求一致性会严重性能,ebay的做法是过程不一致,最终一致。涉及的技术有:消息中间件、CAP(Consistency 一致性;Availability 可用性; Tolerance of network Partition 分区容忍性(可理解为部分节点故障或节点之间连接故障下系统仍可正常工作)


 Expect (R)evolution

     这里eBay讲到的主要是如何更好的应对变化,这包括了功能演变、架构演变,eBay的应对策略为:灵活的schema、可插拔的处理流程以及增量的系统发布,这方面的技术还是相当复杂的,eBay采用的是:配置化处理流程、系统发布过程支持多版本共存。


 Dependencies Matter

     这点随着分布式的应用和异步的应用,以及功能的不断增加后,就会变得比较明显,eBay也是如此。

他们的应对策略:服务拓扑管理、设计上的控制(只允许依赖)、客户端承担责任。

说到这点,不得不说下,客户端承担责任这点其实真的很重要,现在很多架构都喜欢放在服务端上解决N多问题,但很多场合确实有必要放到客户端去做,当然,这也会带来一些问题,例如升级等。

 

期待今年的Qconn大会有新发现。听说到时很多牛人参加。




 

18
2
分享到:
评论
5 楼 J-catTeam 2010-03-25  
这位大哥应该是TB的吧。呵呵
淘宝目前在自动化上做的不如ebay~,比如智能监控,智能分析,智能故障解决
                                                xx说
4 楼 guji528 2010-03-22  
故障检测和回滚
     这个现在很多网站都做,不过ebay做地比较牛,ebay差不多每天有2TB 的日志,通过监控事件作出有效的判断和预警,淘宝也做得很好。

每天要处理好2TB日志,确实是个考验。
3 楼 lirig 2010-03-22  
lyy3323 写道
这和我们公司现在做的项目技术一致

兄台,你在杭州,哪个公司?难道我们原来是同事?
2 楼 lyy3323 2010-03-22  
这和我们公司现在做的项目技术一致
1 楼 struts 2010-03-21  
高深啊..

相关推荐

    Ebay架构特点(HPTS 2009)

    Ebay架构特点主要体现在其高可扩展性、高性能和高可用性上,这些特性使得Ebay平台能够处理全球海量的在线交易。在2009年HPTS(High Performance Transaction Systems)会议上,Ebay分享了他们的系统架构设计,以下是...

    eBay 开源SOA框架

    **eBay开源框架的特点** 1. **可扩展性**: eBay的框架设计考虑了大型分布式系统的扩展需求,允许服务数量和规模随业务增长而动态扩展。 2. **高性能**: 优化的通信机制和缓存策略,确保服务间的交互速度快速,提高...

    Amazon亚马逊与eBay亿贝的财务绩效、财务政策和财务战略分析.docx

    总结,Amazon和eBay的财务表现各有特点,反映出不同的战略定位和业务模式。Amazon注重长期投资和多元化,而eBay更侧重于提供高效交易平台。理解这些差异对于投资者、分析师和业界同行理解这两家公司的竞争力和未来...

    全站跨平台系统补丁自动化部署-eBay梅岑恺.pdf

    eBay所采用的补丁自动化部署系统架构主要包括以下几个关键组件: 1. **数据处理引擎**:负责收集并汇总来自不同来源的漏洞数据,包括厂商通告、CVE数据库等。 2. **数据展示**:通过可视化的方式展示漏洞数据,帮助...

    基于eBay平台语言特征的跨境电商英语文案写作探究.pdf

    例如,在文案设计中,首先提出一个矛盾概念,然后在后续的文案中解释这个冲突,使得整个文案架构出人意料却又合情合理。这种策略能够有效地吸引读者的注意力,并促使他们对产品产生兴趣。 二、跨境电商英语文案写作...

    NewSQL技术架构实践.pdf

    第一代系统架构基于传统的数据仓库,其特点是高延迟、维护成本高和扩展性差。而第二代系统引入了批流统一的数据处理,通过批处理层和流数据处理单元实现了高吞吐和低延时,但同时也带来了逻辑分散、结构复杂和数据...

    fs2-ebay-app:一个在eBay上找到超值优惠的应用

    它提供了强大的类型系统和高度可读的代码结构,使得fs2-ebay-app能够实现复杂逻辑的同时保持代码简洁。 2. **fs2**: fs2是Scala中的一个纯函数式流库,它允许开发者以一种高效且易于理解的方式处理数据流。在这个...

    微服务架构实践116页.pptx

    微服务架构的主要特点是松耦合、自治、organize Around Business Capabilities、 Scaling 和 Flexibility。 在电商大平台的实践中,微服务架构可以带来许多益处,例如提高系统的可扩展性、可靠性和灵活性,降低系统...

    企业顶层流程架构实例PPT学习教案.pptx

    雀巢的流程架构可能涵盖了食品和饮料行业的特点,如对产品创新、市场营销、生产和供应链管理的重视。福田作为一家制造企业,其流程架构可能更侧重于优化生产效率和降低成本,同时也可能涉及销售和售后服务,以增强...

    基于微服务架构的电力云服务平台.pdf

    微服务架构的应用理念起源于一些知名的互联网公司,如Amazon、eBay、Netflix,它们通过实践形成了这一方法论,以解决复杂应用系统中的问题。微服务架构的核心特点包括服务的独立性和自治性、服务之间的轻量级通信、...

    NoSQL数据库笔谈

    1. 序 2. 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 不要删除数据 RAM是硬盘,硬盘是磁带 Amdahl定律和Gustafson定律 万兆以太网 3. 手段篇 一致性哈希 亚马逊的现状 ...eBay 架构经验

    Flex体系架构深度剖析

    2. **SOC的概念**:结合了Flex UI的优势和SOA的特点,形成了一个更加灵活和高效的体系结构。 - **数据模型**:支持复杂的数据结构和操作。 - **服务**:通过服务导向的方式实现模块化和可重用性。 - **消息**:...

    OffersCrawler:将多个页面作为一个快速浏览,在 olx、ebay、allegro,过滤掉不需要的用户或关键字(Py+BeautifulSoap)

    "OffersCrawler" 是一个用 Python 编写的高效爬虫工具,它能够整合多个电商平台如 olx、ebay、allegro、gumtree 和 craiglist 的商品信息,并通过过滤功能帮助用户快速定位所需内容。 Python 语言在爬虫开发领域...

    史少锋-Apache Kylin 产品及架构介绍

    它支持极大规模数据集的处理,并且能够在亚秒级返回查询结果,其主要特点包括快速的数据立方体构建、流式数据立方体构建、低延迟查询响应时间、可扩展的吞吐量以及兼容各种第三方工具的插件架构。 在介绍Apache ...

    论文研究-基于微服务架构的系统可靠性建模 .pdf

    微服务架构已被多家知名公司采用,例如Netflix、eBay、Twitter、Amazon等,这些企业通过采用微服务架构实现了业务的快速迭代和弹性扩展。分析这些公司的实际案例,对于理解微服务架构在实际应用中的效果以及如何...

    大型互联网数据中心架构和技术趋势.pptx

    数据中心开始根据业务需求划分不同级别,如Yahoo、eBay、Facebook和BAT等公司,他们根据不同的业务类型(如数据存储、计算、应用和业务中心等)选择不同级别的数据中心,以降低TCO(总拥有成本)并提高效率。...

    2024年SSM 框架以及 B/S 架构模式校园二手交易平台

    这种架构模式具有部署简单、维护方便等特点,非常适合本系统的开发需求。 ### 三、系统分析 #### 3.1 可行性分析 - **经济可行性**:本系统主要针对校园内部使用,成本相对较低,且可以吸引广告收入,具有一定的...

    AI基础架构平台分析.pdf

    然而,随着互联网用户数量的爆炸性增长和应用规模的扩大,传统的客户-服务器架构无法满足需求,于是产生了基础设施2.0,以可扩展、可编程、开源和商业化的特点为代表,如Linux、KVM、Docker等技术,它们推动了云时代...

    最值得模仿的230个网站

    - **关键特点**:提供类似于eBay的商品买卖服务。 - **学习要点**:在线拍卖系统的搭建;支付安全机制设计。 #### 12. Etacts.com(联系人管理工具) - **关键特点**:帮助用户整理和管理联系人信息。 - **学习...

    NoSQL数据库学习教程.pdf

    eBay 架构经验是指使用eBay的架构经验。 淘宝架构经验是指使用淘宝的架构经验。 Flickr 架构经验是指使用Flickr的架构经验。 Twitter 运维经验是指使用Twitter的运维经验。 运维经验是指分布式系统的运维经验。 ...

Global site tag (gtag.js) - Google Analytics