HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:301811
用户头像

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

关注

评论

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

Maintainer 聚光灯:KubeEdge 和 Volcano 的王泽锋

华为云原生团队

开源 边缘计算 华为云 批量计算

Android JNI模板与读取系统属性笔记

Changing Lin

android

程序员必知的几种限流方案

Java架构师迁哥

阿里巴巴正式推出2021年金三银四1000道Java工程师面试题手册(含答案)

Java架构追梦

Java 阿里巴巴 面试 架构师 金三银四

不明白线程池?那看看这篇,附10道面试题

田维常

线程池

【Mysql-InnoDB 系列】幻读、死锁与事务调度

程序员架构进阶

MySQL 架构 innodb 事务 28天写作

十年运维经验总结出的智能运维系统落地方案

小术晓术

人工智能 运维 企业信息化 运维自动化 信息化

《论雨伞道德》- 不要和自己的良心捉迷藏

石云升

读书笔记 28天写作 雨伞道德

灵雀云Kube-OVN进入CNCF沙箱,成为CNCF首个容器网络项目

York

灵雀云 Kubernetes Kube-OVN

[高并发]高并发分布式锁架构大解密,不是所有的锁都是分布式锁!!

Geek_0o5u34

Vue 3自定义指令开发

葡萄城技术团队

【CSS】不规则阴影

德育处主任

css3 html/css CSS小技巧 28天写作 纯CSS

IDEA Malformed argument has embedded quote

会飞的猪

IDEA

IDEA 异常退出 解决方法

任广印

IDEA

高阶段位机房管理:3D集装箱数据中心,触发科技“火苗”的燃烧

一只数据鲸鱼

数据可视化 3D可视化 机房管理 数据中心可视化 集装箱式数据中心

即构SDK新增焦点语音功能,可实现特定用户语音的聚焦

ZEGO即构

安卓驱动开发!系统盘点Android开发者必须掌握的知识点,搞懂这些直接来阿里入职

欢喜学安卓

android 程序员 面试 移动开发

个人信息严控的时代,AI如何实现“安全”的智能营销?

星环科技

大数据

深扒!用6部分讲完Java性能调优:多线程+设计模式+数据库

996小迁

数据库 JVM 设计模式 多线程 性能调优

Elasticsearch 批量查询 mget

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

「产品经理训练营」第三章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

IntelliJ IDEA 20周岁啦,为期2天的周年庆活动对开发者免费开放

YourBatman

eclipse ide IDEA IntelliJ IDEA

为什么这么一道iOS小题目,这么多面试者搞不定?

Geek_24a3d9

面试 技术交流 ios开发

【Android Tips】小厂的扫码还能怎么做?

李小四

机器学习 二维码 扫码 微信扫码

android开发面试准备!Android高级工程师进阶学习,已开源

欢喜学安卓

android 程序员 面试 移动开发

百度信息流和搜索业务中的弹性近线计算探索与应用 | 文末送福利

百度Geek说

Java 大前端 算法工程师 技术宅

Flink + Iceberg 全场景实时数仓的建设实践

Apache Flink

flink

try-catch-finally中的4个大坑,不小心就栽进去了!

王磊

Java 异常处理 try finally

甲方日常 91

句子

工作 随笔杂谈 日常

前端知识总结输出文章目录大全

梁龙先森

JavaScript 大前端 编程语言 28天写作

【CSS】波纹效果

德育处主任

CSS小技巧 28天写作 纯CSS

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