在2017年的数字货币热潮中,数字货币交易公司Coinbase在他们的平台上遇到了扩展性方面的挑战。工程团队主要通过升级和优化MongoDB、热点流量隔离解决了这些挑战,并构建了捕获和回放工具以应对未来的流量暴增。

\\

在2017年5月至6月间,Coinbase的客户流量飙升超出了预期的水准,超过了通常最大流量的五倍并导致了停机 。团队首先解决了一些简单的问题:垂直扩展、升级MongoDB以提升性能、优化索引以及基于热点的流量隔离。现有的监控系统不足以识别上下文信息,所以团队通过代码instrumentation技术进行了增强,以便于记录丢失的数据。尽管有了这些改善,在2017年12月比特币价格飙升阶段,Coinbase还是再次遇到了多次宕机。从此之后,团队致力于通过捕获和回放工具模拟流量的模式来处理更高的流量。

\\

在最初的停机期间,Coinbase的Ruby应用和MongoDB都遇到了更高的延迟,在耗时方面,Ruby和MongoDB是大致均等的。为了更好地理解这些跨组件调用的上下文信息,团队通过修改MongoDB的数据库驱动记录了额外的数据。这帮助他们将问题的范围缩小至一个未经优化的响应对象,该对象增加了网络负载。这个问题的解决使应用程序的性能得到了很大的提升。另外,通过在对象-关系映射层(Object Relational Mapping,ORM)和驱动层增加基于Memcached的缓存提升了大规模读取的吞吐量。增补缺失的索引也改善了响应时间。到2017年6月,团队已经将MongoDB集群升级到3.2,它拥有更快的WiredTiger存储引擎。Coinbase使用Redis来实现限速等服务,这些服务在停机期间曾经受到Redis的单线程模型的影响。

\\

为了应对未来可能出现的流量暴增,团队开发了名为Capture和Cannon的工具,它们可以从生产环境的系统中捕获流量,并根据需要针对新系统进行回放,以测试系统的弹性。Capture和Cannon都是基于mongoreplay的,mongoreplay工具能够从网络接口捕获针对MongoDB实例的流量,并记录所调用的命令。这些日志可以基于其他的MongoDB实例进行回放。流量能够跨应用服务器进行捕获,然后合并到单个文件之中。捕获到的流量和磁盘快照都保存到了AWS S3之中,Cannon随后能够基于它们进行回放。

\\

Coinbase维护了一个公开的状态信息页面,地址是https://status.coinbase.com/。

\\

查看英文原文:How Coinbase Handled Scaling Challenges on Their Cryptocurrency Trading Platform

Coinbase是如何在其加密货币交易平台上应对扩展性挑战的相关推荐

  1. FBI表示,朝鲜发起了加密货币攻击以应对制裁

    点击上方 "蓝色字" 可关注我们! 暴走时评: FBI一名高级官员在一次会议上表示,美国的制裁激励朝鲜发起涉及加密货币的网络攻击. 在美国智库阿斯彭研究所组织的一次活动上,FBI网 ...

  2. MIT开发新加密货币,用户所需数据比比特币减少99%

    MIT的研究人员开发了一种新的加密货币,大大减少了用户加入网络和验证交易所需的数据,与当今流行的加密货币相比,最高可达99%.这意味着网络更具扩展性. 像比特币之类流行的加密货币都是构建于区块链上的网 ...

  3. Coinbase为热门电子商务平台推出加密货币插件

    点击上方 "蓝色字" 可关注我们! 暴走时评: 加密货币交易平台Coinbase宣布了一项新服务,旨在改善电子商务企业的加密货币支付功能.初创公司Coinbase Commerce ...

  4. Ubcoin市场:加密货币-商品交易平台

    Ubcoin是一个区块链平台,使用例如亚马逊.Etsy和eBay所用的线上市场模型,打造全球首个真正有别于传统的加密货币交易平台.Ubcoin用户仅需售卖真实商品即可换取加密货币,并且能够使用加密货币 ...

  5. 以太坊经典成为第六个加密货币

    股票交易应用程序Robinhood已将ethereum classic(ETC)列为其最近推出的加密交易平台上列出的第六种加密货币. 这家价值56亿美元的公司周一公布了对以太坊经典的支持,为符合条件的 ...

  6. 2021年去中心化金融平台22亿美元加密货币被盗

    Chainalysis最新报告显示,2021年去中心化金融(DeFi)平台被盗加密货币金额暴增1330%. 区块链数据平台Chainalysis最近发布加密货币犯罪趋势报告,发现2021年有价值140 ...

  7. 比特币耶稣Roger Ver:BCH是世界上最创新、最实用的加密货币之一

    近日,天使投资人.比特币耶稣Roger Ver再度表示:"比特币现金(BCH)正在证明自己是世界上最创新.最有用的加密货币之一." BCH的创新,源于其不断对新技术的探求,不断扩容 ...

  8. 英国加密货币流动性提供商获得金融监管机构批准

    点击上方"蓝色字"可关注我们! 暴走时评:根据金融行为监管局(FCA)的注册记录,英国加密货币流动性创业公司B2C2 OTC Ltd.已于1月30日获得该国FCA的批准.B2C2将 ...

  9. 比利时的金融监管机构更新120个加密货币网站黑名单

    点击上方"蓝色字"可关注我们! 暴走时评:根据4月4日的官方声明,比利时金融服务和市场管理局(FSMA)已经更新了与欺诈相关的加密相关网站的黑名单. 继2018年12月的加密相关骗 ...

最新文章

  1. C++实现简易通讯录
  2. Flask无法访问(127.0.0.1:5000)的问题解决方法
  3. ABAP Netweaver和Hybris Enterprise Commerce Platform的登录认证
  4. Python练习-基于socket的FTPServer
  5. 深度学习之眼睛状态识别混淆矩阵的绘制
  6. 生日排序(洛谷P1104题题解,Java语言描述)
  7. grep sed awk三剑客详解
  8. VirtualBox配置
  9. 内容为王时代“内卷”急,安全风控一旦疏漏很要命!
  10. NLP入门之N元语法模型
  11. 2021最新个人在线要饭网站源码
  12. 毕业设计-论文写作笔记【毕设题目类型、论文写作细节、毕设资料】
  13. HMC——Hamiltonian Monte Carlo笔记
  14. zlib访问方法(2022-11-16)
  15. Hbuilder 历次版本更新记录
  16. Android 程序员的技术栈大全(1),中高级Android面试题目汇总解答
  17. 2021年安全生产监管人员及安全生产监管人员模拟试题
  18. 利用ArcGIS创建要素与表之间的关系类并发布带有关系数据表的要素服务
  19. Python学习手册(笔记)
  20. Oracle 数据库管理员SYS/SYSTEM密码忘记了,怎么破?

热门文章

  1. 传递function_JS中!function(){}()的理解
  2. rmi远程代码执行漏洞_Apache Solr反序列化远程代码执行漏洞分析(CVE20190192)
  3. 51单片机led灯闪烁程序C语言,51单片机控制led灯闪烁程序
  4. c++语言定义排序函数,关于C++中定义比较函数的三种方法小结
  5. js导出变量 vue_vue.js前端实现excel表格导出和获取headers里的信息
  6. 公司服务器文档管理制度,文件服务器管理制度
  7. 计算机专业教师演讲稿,计算机部教师会议发言稿范文
  8. php 实现防盗链,php中如何实现防盗链的示例
  9. VB中用API实现文件拖放
  10. 浅析VB For Each.Next语句