写点什么

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

  • 2014-10-14
  • 本文字数:1169 字

    阅读完需:约 4 分钟

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

  • CloudFlare ——它处理所有的 DNS 以及 SSL,并作为一个具有部分 DDOS 防护功能的分布式缓存代理。
  • Amazon EC2 VPC NAT 服务器——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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-14 01:302015
用户头像

发布了 1008 篇内容, 共 412.0 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

Databend 与海外某电信签约:共创海外电信数据仓库新纪元

Databend

推动OpenHarmony在AIDC行业落地,优博讯的技术积累与实践

极客天地

go-mongox:简单高效,让文档操作和 bson 数据构造更流畅

陈明勇

Go golang mongodb 开源 go mongo

轻量级数据中台,大中型企业数字化转型首选

RestCloud

数据中台

inBuilder低代码平台新特性推荐-第七期

inBuilder低代码平台

低代码

选人与育人,孰先孰后?

凌晞

团队管理

高效使用 PyMongo 进行 MongoDB 查询和插入操作

小万哥

Python 程序员 软件 后端 开发

多行业用户齐聚,2023 IoTDB 用户大会详细议程更新!

Apache IoTDB

玩转 Cgroup 系列之三:挑战手动管理 Cgroup

小猿姐

cpu 资源管理 Cgroup

OpenHarmony开发者论坛正式上线,盖楼赢惊喜好礼~

OpenHarmony开发者

OpenHarmony

GitHub Universe 2023:AI 技术引领软件开发创新浪潮

SEAL安全

GitHub AI 企业号11月PK榜

浅谈研发数字化在汽车之家的落地实践

之家技术

产品 数字化 研发 效能 释产能

Redis分布式锁问题分析与处理方案

郑在暴富中

redis redisson 分布式锁

概念回顾: API 和 API 互联

NGINX开源社区

API 协议 API 类型 API 策略 API 架构 API使用现状

零代码秒集成打通小鹅通订单支付信息与CRM合同接口

RestCloud

零代码 APPlink

Milvus 上新!全新 Range Search 功能,可精准控制搜索结果

Zilliz

Milvus Zilliz 向量数据库

Kyligence 入选 Gartner® 2023 客户之声报告,高分获评“卓越表现者”

Kyligence

数据分析 指标平台

以终为始,依托度量指标,多种工具全面提升研发效能

之家技术

工具 团队 效能 AIGC 释产能

低代码平台是什么?具备哪些特性?

树上有只程序猿

低代码

文心一言 VS 讯飞星火 VS chatgpt (135)-- 算法导论11.3 1题

福大大架构师每日一题

福大大架构师每日一题

10w+播放!自动化办公,用到了哪些实用的Python技术?

程序员晚枫

Python 编程 自动化办公

数据库操作入门:PyMongo 和 MongoDB 的基本用法

小万哥

Python 程序员 软件 后端 开发

使用AWS CodePipeline自动部署项目到EC2

wangkx

亚马逊云 亚马逊云科技 EC2 CodePipeline CodeDeploy

一文带你了解TypeScript 函数

Aion

typescript Vue 前端

企业APP软件定制开发的关键步骤

Geek_16d138

软件开发 app定制开发

释产能,论研效提升之路

之家技术

效率 团队 资源 效能 释产能

市场行情回暖、利好月来袭,Web3 广告业领头羊 Verasity 或迎爆发

鳄鱼视界

typhonjs-escomplex 代码可读性 & 可维护度探索

南城FE

JavaScript 前端开发 代码质量 代码规范

Clay.io发布基于AWS、Docker、HAProxy的10X架构_亚马逊云科技_谢丽_InfoQ精选文章