EBay架构案例分析

EBAY可伸缩性策略

  • 1、 Partition Everything 切分万物,能划分尽量划分 从领域数据到功能

  • 2、 Asynchrony Everywhere 处处异步 EDA和消息广播

  • 3、 Automate Everything 全部自动 保证专注自动配置 自动回复  机器学习

  • 4、 Remember Everything Fails 记录失败

  • 5、 Embrace Inconsistency与狼共舞,与不一致回旋。在CAP原则下权衡。亲不同是谓大同

  • 6、 Expect  (R)evolution 预言演变

  • 7、 Dependencies  Matter 重视依赖

  • 8、 Be  Authoritative 独断专行

  • 9、 Never Enough  Data

  • 10、Custom  Infrastructure 自定义基础设施


eBay 切分分层

  • scaling 数据层     数据存储分离 松耦合

  • scaling应用层

  •    应用显示 控制 领域之间实现分层


scaling 数据层

  • 按功能分段划分不同主机。再在段内再水平分割:
            读写分离 write master/read slave

       尽可能以主键Key读取
       将数据映射到本地

  • 让数据库负担尽可能小

  • 首先考虑无事务情况

  • 创建数据库结构可替代技术

ebay  


让数据库负担尽可能小

  • 不要将业务逻辑放入数据库。没有存储过程,只有简单的一些触发器。

  • 尽量不要让数据库进行复杂耗时查询及其计算。将这些工作移植到应用层,如排序,JOIN等。

最小化数据库事务

  • 使用Auto-commit事务

  • 无分布式事务,无客户端事务

  • 有事务就有锁,避免事务就是避免锁。

  • 避免耦合

  • 可以实现并行更新


伸缩扩展应用层

ebay


 

  • 根据不同业务领域分别部署。将不需要事务的业务从需要事务的业务中分离出来,使用异步EDA和同步SOA架构


 

正确对待不一致性

  • 不要担心害怕不一致性,也不要苛求语言工具能够提供高可靠性 和高一致性。

  • 使用事务是为了保证一致性,CAP原理适当降低一致性要求:切分缩小需要高一致性的需求。

一致性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值