BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Clay.io发布基于AWS、Docker、HAProxy的10X架构

| 作者 谢丽 关注 11 他的粉丝 发布于 2014年10月15日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

近日,游戏公司Clay.io首席技术官Zoli Kahan在High Scalability上发表了一篇博文,从云、应用服务器、数据存储等方面简单介绍了他们构建的10X架构,架构图如下:

  • CloudFlare——它处理所有的DNS以及SSL,并作为一个具有部分DDOS防护功能的分布式缓存代理。
  • Amazon EC2VPCNAT服务器——Clay.io几乎所有的服务器都托管在Amazon EC2的中大型实例上。私有网络内的部分服务器托管在Amazon VPC上。另外,他们还有一个NAT服务器,在使用内部网络时,它可以作为一个VPN节点。
  • Amazon S3——Clay.io用它作为CDN后端,把所有的静态内容都托管在上面,而且出于安全和性能的考虑,为它分配了一个单独的域名:cdn.wtf。
  • HAProxy——这是一个高性能的反向代理,用于将流量路由到不同的服务。目前,Clay.io仅有一个HAProxy服务器,托管在m3.medium实例上,后续可根据流量的增长进行升级。另外,他们可能会在前端增加Amazon ELB,以便在需要时横向扩展。

应用服务器

  • Docker应用服务器——Docker是一个Linux容器管理工具。用Docker容器发布的代码与底层主机无关。Clay.io的大部分计算服务都通过Docker运行在应用服务器上。这非常便于满足多变的需求以及增加或删除服务。
  • Docker过渡服务器——过渡环境与应用服务器完全相同,以防生产环境产生故障或宕机。

数据存储

  • MySQL——目前,Clay.io的大部分数据都存储在一个主从结构的MySQL集群上。它包含一个主节点和两个从节点,后者为大部分的用户查询提供服务。
  • Logstash——这是一个日志聚合工具,与Kibana集成在一起用于日志分析。它基本上处理所有的应用程序日志,并提供一个检查错误的地方,使开发人员无需使用SSH连接到服务器。
  • MongoDB——这是个NoSQL文档数据库。目前,Clay.io的部分开发人员在用它,他们的A/B测试框架Flak Cannon也用到了它。
  • Memcached——这是一个键值存储,主要用作缓存。它很多地方都与Redis相似。目前,Clay.io主要在遗留的Web应用程序中用它缓存MySQL查询结果。最终,他们希望把它替换成Redis。

此外,他们还使用Ansible管理服务器。该工具易学易用,可以自动化许多运维过程。他们还使用了许多其它服务,如用GitHub管理代码、用UptimeRobot进行健康检查、用Drone.io实现持续集成、用Docker注册中心管理Docker容器、用New Relic监控服务器资源使用情况,等等。

在接下来的几个月里,他们将继续对上述架构进行改进。他们希望能够在生产环境中引入Kubernetes管理Docker容器,使用Amazon Glacier备份数据库。他们还会关注RethinkDB的发展,可能有一天,会将部分数据从MySQL迁出并迁入RethinkDB。


感谢张天雷对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT