|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。DanielSchauenberg在伦敦QCon年夜会上形貌了Etsy是怎样做到天天50次部署的。Etsy以其DevOps和延续托付的理论而出名。一个完整主动化的部署管道、周全的使用监控和基于IRC(互联网中继谈天)的合作是能到达这个变动频次的同时又坚持最小风险的主要要素。
Etsy的开辟战略是重复环绕着做很多小的、一连的变动。如许做的一个间接成果就是必要天天做良多次部署。用DanielSchauenberg的话来讲,在任什么时候刻每一个Etsy的开辟职员都必要晓得上面这个成绩的谜底:“我如今有充足的信念来部署这个变动吗?”。为了可以每次都能够轻松部署,Etsy接纳了一系列的工具和做法:强迫基于IRC的相同、开辟者假造机、延续集成、一键式部署、周全的使用和体系监控、关于开辟和运营团队都接纳免指责的过后反省(post-mortem)和随叫随到的政策。
每一个开辟职员都具有本人的经由过程Chef设置的KVM(基于内核的假造机)。在线上运营中利用的cookbooks也一样地用在了开辟职员的假造机中,这意味着每一个开辟者都有本人完全的Etsy栈。任何人都能够经由过程VirtualMadness(一个能够完成全部历程主动化的Web使用)来供应一个假造机。
在延续集成方面,Daniel注释了Try是怎样成为一切历程的中心。Try是一个工具,它同意开辟职员在Jenkins(在Etsy中利用的延续集成工具)中测试他的代码变动,而不必要先提交到trunk中。Try有助于坚持trunk洁净从而完成可部署,而同时闪开发职员可以疾速、牢靠地测试他们的变动。CI(延续集成)集群必需壮大到足以撑持150名工程师,和天天凌驾14000个测试集的运转。LXC(Linux容器)会均衡事情的负载,它们还供应了断绝机制,确保分歧测试的实行之间不会抵触。
部署管道会经由Princess,大概事情台,这是一种上线前的情况。Princess的一切企图和目标就是上线情况,但只要Etsy的员工能够会见它。Deployinator是由Etsy构建并利用的部署工具,供应一键式部署。
设置标记,也被称为功效标记,是部署过程当中的一个次要构成部分。经由过程其功效API,Etsy可以做A/B测试,即完整启用大概禁用某一功效或一个给定功效的变体。
监控是Etsy团队创建信念做延续托付的关头。开辟职员做本人的功效监控,并且每一个人都能够经由过程仪表盘看到一切的监控图表。Etsy具有如许一个战略,在默许情形下一切能够被绘制的信息城市被制成图表。跟着工夫的推移,目标的数目一向稳步增添,以是Etsy创建了Kale来匡助检测非常形式。一切的日记都能够经由过程Supergrep展示出来,Supergrep是一个基于Web的日记展现工具,这增添了日记的信噪比。
IRC是贯串Etsy的次要相同工具,也是Etsy合作文明的关头。内里有良多分歧的谈天室,每个都具有特定目标。比方,在谈天室#warroom中仅同意中止变乱有关的漫谈。谈天室是用来和谐查询拜访,会商应对措施息争决计划监控的。与其他的谈天室一样,#warroom是个勉励新工程师们潜水的中央,由于这些谈天室被以为是进修的好中央。
每次中止产生,或靠近中止的时分,一切人被约请来办事后反省。过后反省是一个主要的文明举动,假如财政和撑持职员必要,他们也能够介入。过后反省是为了成为一个进修的时机,以是它们不该该包括叱责。一切过后反省相干的信息被纪录在Morgue内里:日期、严峻性、IRC日记、图表和弥补措施。Morgue是Etsy为了保留过后反省纪录而出格构建的另外一种工具。
关于运营、开辟、付出和撑持部门的员工都接纳随叫随到的政策。开辟职员一般轮番地在每四个礼拜里的某一周供应随叫随到的撑持。该政策的目标是让每一个人都意想到上线产物天天所面对的成绩,使他们可以在开辟新功效或改善现有流程时思索到这些成绩。
Etsy具有约60万的月会见量和每个月1.5十亿页面扫瞄量。
主要缺点就是:速度比较慢,没有C和C++快 |
|