说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Clay.io基于AWS、Docker、HAProxy等的10X架构打造

HTML文档下载 WORD文档下载 PDF文档下载
当下基于云的部署大大缩短了应用的发布周期,让机构可以将更多精力投入到产品特性设计上。然而,大规模应用架构从来都不是件容易的事情。从本文起,我们将带大家领略Clay.io的10X架构,首先关注的则是技术上的选择。

近日,Clay.io的Zoli Kahan开始了“10X”系列博文的撰写。通过这个系列博文,Zoli将分享如何只使用一个很小的团队支撑Clay.io的大规模应用。首期分享则是对Clay.io所使用技术的盘点。

下为译文


云方面

CloudFlare

CloudFlare主要负责支撑DNS,并作为一个防护DDoS攻击的缓存代理,同时CloudFlare还负责处理SSL。

Amazon EC2 + VPC + NAT服务器

基本上Clay.io的所有服务器都是Amazon EC2类型,其中大部分是中大型实例。同时,我们还使用Amazon VPC将所有服务器托管在一个私有网络,从而这些服务器很难在外网访问。为了访问这些私有网络,我们还配置了一个NAT服务器,它同时也作为一个VPN终端,用以内部网络使用。

Amazon S3

我们使用Amazon S3作为应用的CDN后端,它托管了Clay.io的所有静态内容。为了安全和性能因素,我们为之配置一个独立的域名——cdn.wtf,一个cookie-less域名。

HAProxy

HAProxy是一个非常高性能的反向代理,我们使用它将流量路由到不同的服务。基于Clay.io的性质和平台所需支撑的内容(比如遗留代码),HAProxy意义重大。在以后文章中,我将对这点进行深入讨论。

当下,Clay.io使用的是一个配置了m3.medium的HAProxy服务器。在流量增加后,HAProxy必将迎来一次无可避免的升级。此外我们还会在前端增加一个Amazon ELB,在需要时进行横向扩展。


应用服务器——Docker

Docker用于管理Linux容器,类似于轻量级的Virtual Machines(同时还省略了隔离和安全保障)。Docker的好处是可以做代码封装,并且忽略底层服务器特性做任意的代码重用/移植,在下文我们将详细介绍。

演示应用服务器——Docker

在Clay.io,演示环境服务器和应用程序服务器相同,并且和生产环境运行相同的二进制Docker文件。对于防止不必要的生产系统破坏和宕机,这种设置环境非常重要。

数据存储

MySQL

MySQL是一个久经沙场的关系型SQL数据库,当下Clay.io的数据大部分都依赖一个主从设置的MySQL集群。在这个集群中,一个主节点和两个从节点服务器支撑了大部分的用户查询。当然,在未来我们可能需要对主节点进行分片。但是期望不要太早,因为我们正在考量其他数据库。

Logstash

Logstash是个日志聚合工具,通过Kibana进行分析。当下,它基本上负责了Clay.io所有的应用程序日志,以备系统发生错误时使用。使用Kibana,我们避免了必须SSH到一个机器进行日志检查。

MongoDB

MongoDB是个NoSQL文档存储数据库,当下MongoDB为我们的一些开发端点和A/B测试框架Flak Cannon提供服务。

Memcached

Memcached使用了键值存储类型,非常类似于Redis。Memcached在Clay.io主要负责一些遗留Web应用,用以缓存MySQL的查询结果。毫无疑问,随着系统的迭代,最终它将完全被Redis取代。

DevOps

Ansible 

在我们系统中,Ansible被作为服务器管理工具的一个选择。对于大部分开发者来说,它非常易于学习和使用,Ansible可以帮助许多日常DevOps的自动化处理,由一个专门的运营团队负责。

其他服务

GitHub

GitHub——无需多言,这是个非常强大的源代码管理工具。

Uptime Robot

Uptime Robot是个免费的监测服务,我们使用它来监测健康检查和端点。如果有问题发生,它可以在5分钟内给我们发送电子邮件和文本消息。

Drone.io

Drone.io是一个连续的集成服务,我们使用它为各种项目连续不断的运行测试集。它非常类似于TravisCI,近日我们还释放了一个开源的自托管版本。

Docker Registry

当下,我们使用官方的Docker Registry来管理Docker容器,它类似于Docker专用的GitHub。

New Relic

New Relic是个服务器和应用程序监视服务,主要用于服务器监视,在磁盘和内存满载时进行提醒。

Google Analytics

Google Analytics是我们主要的网站分析跟踪工具,用于跟踪网站具体功能,我们使用了定制事件特性。

Google Apps

Google Apps为我们clay.io域名提供邮件,并为机构提供了一个共享的Google Drive设置。

Last Pass

Last Pass是一个密码管理服务,它允许我们便捷的在所有团队共享公司认证信息。

未来

虽然我们对当下的设置已经比较满意,但是我们仍然期望在数个月内对系统的某些方面进行升级。审视最初的基础设施版本,有许多地方并没有花大量的时间去设计。而就是这些地方,成了未来系统扩展时必须面对的瓶颈。

  • Kubernetes在大规模Docker容器管理上表现出了惊人的潜力,也是我们重点跟踪的项目之一。毫无疑问,在该项目成熟时,必将成为我们生产环境的一部分。
  • Amazon Glacier,用于数据库备份,是我们未来的一个实现目标。
  • RethinkDB,虽然当下还非常不成熟,但其潜力不容忽视。和Docker一样,我们将紧跟这个项目的发展。在未来弃用MySQL时,它将是一个不错的选择。
原文链接:How Clay.Io Built Their 10x Architecture Using AWS, Docker, HAProxy, And Lots More(编译/童阳 责编/仲浩)
应用内直接打车:Uber面向第三方开发者开放API 百万美元巨奖!英特尔启动感知计算挑战赛 IBM 2014技术峰会在京开幕! OpenGL 4.5规范标准发布,大大提升API性能! 更萌更贱:Flappy Bird开发者推虐心新作Swing Copters 学习的革命:AR增强现实遇到儿童应用 颠覆旧概念,IBM Bluemix开启云开发时代 专访企业QQ SaaS团队,谈企业级LNMP架构设计 《近匠》Coding:将软件开发搬到云上 小米与美视频游戏服务Ouya合作 进军国内客厅 新工具Get!轻松实现2D画面动态光影的Sprite Lamp 一周消息树:罗升阳的Android之旅 手游不易:GungHo 3.44亿美元售Supercell股权 周末去哪儿 当然是去2014微信开发者大会!(附参会提醒和名单) 开源框架Ember.js迎来1.7.0和1.8 Beta 1更新 《近匠》RealSense:几行代码,为游戏添增实感交互 MDCC游戏应用征集关键词:中小团队,3D,转型,IP 共话HealthKit:能否颠覆医疗保健生态系统? Perception Neuron系统,让动作捕捉技术不再高冷 2014年DevOps实践调查报告 .NET程序性能的基本要领 百度手机卫士宣布开放三大能力 构建互联网安全生态 火速围观,AMD APU新芯片架构A68H呼之欲出! 对于测试人员而言,TDD意味着什么? 年用电910亿度,那些庞大的数据中心该用什么支撑 走近黑客们的世界,感受网络空间的心跳 VMworld 2014 Day One:Docker、数据中心、混合云新举措 Docker和Kubernetes或将加速SDN发展 前端开发框架三剑客—AngularJS VS. Backone.js VS.Ember.js 【CTO俱乐部读书会】《流程的永恒之道》辛鹏:企业的本质就是流程运营 紧扣微信研发痛点 2014微信开发者大会吸引大量外地参会者 怎么样把两个ArrayList合并成一个??我在文档里找了半天也没找到!急~~!!!!!!!! 》》》菜鸟发问:SQL SERVER2000 可以对 office 文档进行全文检索吗? How to alter DBGrid Scrollheader Color? c怎样访问数据库啊?一定给分! from里的参数传递为ENCTYPE="multipart/form-data"时的问题? 网吧问题 如何在txt文件中查找字符 请问如何实现当进入一个combox时自动下拉列表框(不用用鼠标去点) 关于volatile 修饰词 过去用Delphi开发数据库都是用Access,现在急需使用SQL Server。请问:我必须掌握SQL Server中的那些内容。 如果我想删除日志文件的所有记录该怎么办?????? 怎么样把两个ArrayList合并成一个??我在文档里找了半天也没找到!急~~!!!!!!! 请问,NT4.0下怎样配置网关和路由? 请问如何知道一个弹出菜单是否以经关闭 升级后问题,奇怪,请指教? 什么是存储过程? 大侠们帮忙看看,简单问题 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169. 请问怎样才能在Access中选取指定行数的记录如第5-10条. 关于XML命名空间的疑问?请教各位高手帮帮忙!谢谢! 请问哪里有《情深深雨蒙蒙》下载??? ******斑竹快出来啊 看看我这个贴子啊!!!!!!!!!!!!!! 如何读取寄存器中的数据? 请问在数据库中如何操作日期型字段: Help,如何把本机加入主域服务器? 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169 怎么用vbscript定义一个函数阿。我想作一个下拉框的onchange事件,请指教 如何确定adoquery的数据是否被修改了? 有关程序调试的问题 全都转行卖大白菜。 对于各个.h和.cpp文件分工如何,我的各种函数各个变量到底该放在哪个文件中的哪个class中? 如何停止asp调用的dll文件,我调用my_dll.dll文件一次之后就不能对my_dll.dll更改了,为什么?怎样解决? 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169.. 关于附件下载过程中权限控制的问题 如何编辑LILO文件? 糊涂啦。。。看看汉字库(hzk24)吧? 请问在listbox控件中如何设置特定行的颜色? 问一个关于ODBC的问题 急:因出差,明天(12.20,第二期)的“微软.net高级程序员培训”转让(包括资料)!今晚6:00前联系,13910321169.... 各位大侠,哪有设计专家系统的c语言的源代码阿(全分奉送)? 请问:如何处理MFC提供的CList类模板产生的异常问题呢? 散分!快抢! 调用对象 阿呆,只有你能救我了~~!!!!! 100大洋~~!!! Excel报表的汇总 请问VC有像Delphi或者C++Builder那样的作报表的工具吗? delphi怎么调用CHM文件啊? win98 登陆win nt Java远程调用的合法类型(legal types for Java RMI)都有哪些? 安装盘的制作问题 如何设置多个Timer? 高中数学 椭圆的焦点三角形面积公式为椭圆S=b^2tan(a/2) 其中的b是指短轴长吗? 无论焦点在x轴或y轴吗那么对于双曲线的焦点三角形面积公式呢 其中的b是? 一个平行四边形,面积是九分之八平方米,高二米,这个平行四边形的底是多少米 等腰三角形面积怎么求 怎么用声音辨别汽车发动机是4缸?6岗?8缸?12缸?如题. 告诉我大量关于三角形面积公式继续,不管常用不常用若有推到过程加分(除海伦公式,内切圆) 已知三角形ABC的面积是2008平方厘米,是平行四边形DEFC的四倍.求阴影部分的面积下面的图还没有收到答案 求助一个关于汽车发动机排量与缸数的问题打个比方一个5.0升的v10发动机5.0升直列1缸发动机,其他因素都一样,说说在使用中的不同,5.0升直列1缸发动机又没有可能启动不起来 运送液体的车,液体最上方的中间有气泡,当车开动时,气泡向哪运动,刹车时气泡向哪运动 一个三角形和一个平行四边形的面积相等,底也相等,如果三角形的高是10米,那么平行四边形的高是()米,如果平行四边形的高是10米,那么三角形的高是()米. 汽车发动机说的冲缸是啥意思~!~!谢谢修车高手~! 如图所示,一个装水的玻璃管中有一个气泡,当玻璃管突然向左运动时,气泡会向()运动,这是因为()具有惯性 要比例 如何判断是否冲缸垫 已知三角形三边求面积的公式是? 气泡水可以自己做么? 用椭圆公式求三角形面积?点P是椭圆x^2/4+y^2/3=1上的一点,F1、F2是它的左右焦点,若角PF1F2=120度,求三角形PF1F2的面积 知道三角形三边怎样求面积?用什么公式? 小孩子吹的泡泡水怎样做? 一块梯形玻璃,它的面积是80平方分米,如果下底是9分米,上底是多少?2/1没学 一个平行四边形的面积是128平方分米,底是高的2倍,底是多少分米,高是多少分米? 一个三角形与一个平行四边形的面积和底都相等,平行四边形的高是4厘米,三角形的高是多少厘米? 运输液体货物的槽车,液体中有一气泡,如图所示,当车向左加速运动时,气泡相对于槽车向—运动. 写出一个一次函数的表达式,使其图像与两坐标轴围成的3角形面积等于3 泡泡枪的泡泡水怎么做?要求:做法简单,并且可以使用放心,对宝宝无害? 运输液体的槽车,液体上有气泡,当车开动时,气泡将怎么运动;刹车时,气泡将怎么运动,其原因是什么? 已知一次函数的图象经过点(2,2),它与两坐标轴所围成的三角形的面积等于1,求这个一次函数的表达式 玩具泡泡枪里的泡泡水怎么配 运送液体货物的槽车,液体上方有气泡,如图所示.当车向右开动时,气泡将向___运动答案是向右,但是我认为,气泡有惯性,运动状态瞬间保持不变,不跟着车向右移动,所以我觉得是向左.气泡也有惯 已知一次函数的图像经过(2.2),它与坐标轴的三角形面积等于1,则这个一次函数表达式是 将面积是72平方厘米的长方形框架拉成一个平行四边形后,面积减少9平方厘米.已知将一个面积是72平方厘米的长方形框架拉成一个平行四边形,面积减少了9平方厘米,已知长方形框架的长时9 一个实心的小球分别被放入成有足够水和酒精的容器中,小球受到的浮力分别为0.9和0.8N.已知水和就近的密度之比为5:4.求小球密度 运输液体货物的槽车,液体上有个气泡,当车突然开动时,气泡为什么向前运动? 一次函数Y=-2X+b的图像与两坐标轴所围成的三角形的面积等于4,求此一次函数表达式 平行四边形和一个三角形等底等高三角形的面积是平行四边形的( )平行四边形的面积比三角形面积多( )%急~急~急~急!@ 运输液体的槽车,液体上有气泡,当车开动时,气泡向前运动,为什么? 汽车有几种刹车,我就知道气刹和油刹.还有气刹和油刹原理? 椭圆的焦点三角形面积公式的证明过程 一块平行四边形的玻璃,底为28厘米,高是底2倍.这块玻璃面积是多少平方厘米? 汽车刹车分为机械刹车 油刹车 气刹车 电子刹车 请问现在哪些分别运用了这些系统? 求焦点在y轴上的椭圆上的一动点与两焦点围成的三角形的面积公式假设动点为P,并且角F1PF2=X度,那么ΔF1PF2的面积公式是什么?不需要推导过程! 有一块平行四边形的茶色玻璃,它的底长是15.6分米,高是10分米,这块玻璃的面积是多少?如果每平方米玻璃的价钱是0.50元,买这块玻璃要多少钱? 1.一个平行四边形的高为5.6平方分米,若底不变,高增加1.7平方分米,面积就增加23.8平方分米,那么原面积?A.78.4 B.33.32 C.7.225(直接说答案)2.小明计算除法,把除数54写成45,得到商10,余数36,正确商 椭圆焦点三角形面积公式是啥 一块平行四边形玻璃,面积是20平方米,底是高的5倍,这块玻璃的底对应的高是多少? 一个平行四边形面积是4点5平方分米底5分米高多少分米. 1、一块平行四边形玻璃,底为15米,高为4米,每平方米售价48元.买这块玻璃要多少元?2、已知等腰三角形的周长为16厘米,腰长5厘米,底边上的高是4厘米,三角形的面积是多少? 3、笑笑的书房长是4.2 一块平行四边形的玻璃,底长4cm,高比底短8分之1.这块玻璃的高是多少?面积是多少脑袋坏掉纯属随便乱发 一个平行四边形,若底不变,高减少3分米,面积就减少9平方分米.若高不变,底增加3分米,面积则增加15平方不能列方程 公司新建的门市房要配一批同样大小的平行四边形玻璃,每块底为8dm,高为50cm,每平方分米玻璃价钱为0.28元粗心的小张没有认真计算一下,就带了100元钱去玻璃店, 直角三角形的面积公式怎么计?左边的是7分米,右边有一条斜边的是9分米,底下的是4.8分米,怎么算,这个9用不用算? 下面图中的两个平行四边形的高相等,其中阴影部分的面积是4平方分米,底是2.平行四边形的高是4分米,图形的总面积是多少? 有一块平行四边形的玻璃,它的底是25dm,高是10dm.已知每平方米的玻璃价格是12元,买这块玻璃要花多少钱? 直角三角形计算公式已知2条边和一个直角有办法求出另一条边么 汽车盘式刹车的刹车皮材料是什么?能再细致点吗? 汽车的玻璃水喷不出来怎么办?早晨开车时使用玻璃水想清洁一下,发现刚刚加过的玻璃水居然喷不出来了,问了同事他们说可能是冻上了,但能看出来罐里是液体.听声音电机也是正常的.是出水 运输液体货物的车,如果车厢中有一气泡,当车启动时,气泡为什么向前运动 汽车刹车盘和刹车皮那个贵我的车是老款九几年的现代索纳塔今天去换俩前轮刹车皮和刹车盘 修配厂出的配件价格是刹车皮原厂240元 副厂120元 刹车盘说是原厂但是没说价钱开始我要的都是 玻璃水是假的车喷水器冻了? 一张平行四边形材质的第一场八分之三米地势高的八分之五,这张平行四边形彩纸的面积是多少平方米? 等腰三角形的面积公式 只知腰长已知腰长为20厘米,求面积,求得出来吗
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn