标签归档:总结

大流量活动的应对

大流量活动的应对

大流量活动的特性是生命周期短,推广资源集中,突增流量多,对系统负载有较大的挑战,可能会对现有业务产生冲击。 在有大流量活动上线之前我们一定要做好提前准备,提前预估容量,做好扩容准备,做好应急预案。

容量预估

在确认为大流量的活动上线前需要对活动做容量预估,预估总用户量有多少,用户同时参与的可能峰值是多少?确认后评估系统能力是否能够支撑,如果不能,进行优化或扩容。评估系统时需要考虑系统本身以及支撑系统的服务的承载量。

控制节奏

控制节奏是指控制资源投放量的节奏,要有层次的将资源投放出去,不要一次性将所有资源全部砸出去,以渐进的方式,慢慢放量。如果一次性将几千万甚至上亿的量放出去,可能会导致整个活动的后台支撑系统超负载,从而影响整体活动效果。

关注用户行为

评估时考量用户的行为,识别用户的页面访问路径,如常规的活动只有一个页面,可以直接按用户数评估访问量。 如果活动一个用户一次体验流程可能会访问4到5个页面,而每个页面对后端的cgi至少产生3个请求(2个pv上报,1个用户参与状态查询),则如果有500万用户进入页面,则可能会对后端产生至少2000多万的cgi请求。如果还有页面定制的用户状态区分等,则会有更多的请求到应用服务器。

服务定制

针对大规模推广活动进行定制。此定制相对于常规逻辑来说,去掉与当前活动不相关的旁支逻辑。毕竟相对于整个系统来说,需要考虑的逻辑点会比较全,而如果只是一个活动的话,有些功能是不需要用到的,可以针对这些点做功能优化。可以考虑从入口处直接隔离,或增加定制开关。

业务隔离

承载活动运营的系统现已成为平台性的产品,有较多的业务依赖于此系统,特别是有一些非活动性的,如体系类、固化入口类的业务。 此时,当有大流量活动发布推广时需要考虑到活动本身不会对平台上其它产品产生影响,毕竟大流量活动其访问量级较大,在大资源推广时会占用服务较多的的资源,从而可能会影响其它产品的服务质量。

为保证系统上其它业务的高可用性,我们需要做业务隔离。此处业务隔离的原则:

  1. 代码保持一份,主干开发,保证主干的可用。
  2. 短期和长期的业务隔离,如通过域名分割,大流量短期活动业务启用新域名,直接扩容,流量到新机器。

如果一切顺利还好,但是往往事不与人愿,总会出一些你预想不到的情况,比如之前说好的节奏没有把控好,比如做的容量预估不够,比如……,这些比如都是我们在事前需要考虑的风险点,当这些风险出现时,我们需要做异常应对了。

假设现在流量一下子太大,已经到了服务器的负载极限,有许多用户直接被服务器拒绝服务,此时我们能够做些什么呢? 面对这种情况我们经常做的事情是扩容。

紧急扩容

扩容说白了就是加机器,其主要是考验系统的伸缩性,在不改变其它内容,仅通过增加或减少服务器的数量来扩大或缩小应用的服务处理能力。

由于业务的调用是链式的,一环扣一环,如当我们扩容后,能够应对这些流量冲击后,这个冲击可能就会触达到后端的server,或其它给我们提供服务的第三方服务,可能会一下子把第三方整得服务不可用,因此在紧急扩容前需要梳理我们依赖于哪些服务,大流量的请求中与这些服务相关的有哪些,大概有多少量级的请求会转发到这些服务上,他们的支撑能力有多少,整体容量预估是否够用,并且需要提前沟通。

假如因为某些特殊的原因,而无法扩容。此时为保证大部分用户的服务可用,我们可能需要选择服务降级。

服务降级

当应用访问遇到高峰时,超出了应用所能处理的最大能力时,为了保证整个应用的安全可用,需要进行降级,通过拒绝部分请求及关闭部分不重要的服务将系统负载降到一个安全的水平。

降级服务可以从功能和用户两个维度实现,功能降级需要将系统拆分成独立的若干个功能点,当遇到问题需要降级服务时,保证主功能的可用,一些旁支功能可以先关闭;用户降级需要在服务端实现某种策略的服务不可用,如直接抛弃用户请求。比较简单的实现就是各种系统开关,针对可以降级的功能点和服务使用开关, 当出现需要降级的情况的时候, 就可以在后台使用开关来降级。

服务降级前需要和产品侧沟通确认。

以上忝为某活动总结。

 

2013年的多与少

多,甲骨文字形,从二“夕”。“夕”本义指“黄昏时刻”,转义指“黄昏时刻农夫聚集”。“二夕”叠加指“农夫加倍聚集”。表示数量大,与“少”、“寡”相对。
少,小篆从小,本义:不多。

2014年的第一天,带着包包大人,和家人一起爬山,登高而没有望远。
睡醒,起床,开始这篇该有的年度总结。

跨过一年,表示我离不二的年纪不远了,呵,回首一年,生活因包包大人的到来而发生了彻底的改变,技术没有明显的进步,进了想去的公司。
一年,有得有失,在选择中成长;
一年,有累有喜,在成长中成熟;
一年,有多有少,在变化中变化。

一、2013年的多与少

多了什么?
多了一个小天使
多了一份责任
多了一个完完整整的家,有你们的地方就是家
多了并不是多余,只是增加。

少了什么?
少了二人世界,世界将围绕小天使转
少了看书的时间
少了周末的爬山和运动
少了并不是真少了,只是转移,有更多需要你来兼顾。

多了什么?
多了能够见识的东西,更多的同事,更多的学习资料、更多的组件,更多的之前都没有见过的东西。
多了需要面对的用户,海量的用户,一个小小的手抖可能就是一大堆的投诉
多了需要考量的因素,所处的环境更复杂

少了什么?
少了责任,不再需要考虑他人的成长,关注更具体的事情。
少了思考,思考个人的成长?思考自己的价值,思考过去所做的事情,思考将来要做的?这些少了。慢慢就少了,无声无息的。
不在那个位置,你就不会去思考那个位置的问题,所谓 在其位谋其政,在其位的驱动力没有了,是否还能自动的去思考?
少了沉淀 一方面博客没有及时更新了,一方面看书的时间也减少了,每天围绕着需求在变。

一些个人感觉:
重回一线,开始了重新写代码的日子。
站的位置不同,看到的东西也不同,开发是最了解实现的人,也应该是最能发现bug的人,只是我们懒了,
如何去做?自测,严格的自测,除了正常流,遍历代码中所有的异常流,只是能有几人可以做到,因为我们都相信我们的代码是没有问题的。

更深刻的体会了业务决定实现,也决定了你对一个技术使用熟练程度。不经历一线的考验的技术不可能到一个很熟练的程度。

最重要的是什么?我们知道事分轻重缓急,重要紧急的事先做,只是往往我们认不清自己在做的是不是最重要的。
一个时间点上,你最重要的是什么?
一件事中,你最重要的是什么?
一些人里,你最重要的是谁?

2013年是一个变化年,生活状态的变化,因为变化,对比上一篇总结的计划:
1、过PMP【完成】
2、看5+管理 10+技术 10+其它书籍 【完成】只是效果不是太好,特别是临近这两三个月。
3、熟悉YII框架的源代码,对其各个模块有清晰的认识(貌似这里没量化了)【基本完成】最近在工作中也用得比较多
4、加强对Linux的认识(量化一些,虐APUE两遍,并结合PHP内核)【未完成】
5、完成媳妇的两个梦想【完成】
6、加强在工作上的掌控力,项目的按时完成率在80%以上。【需求变化】
7、Blog – 平均每月两篇+,【没有完成】博客没有及时更新,这就不找借口了,主要原因是个人没有积累,也没有去关注了。

二、2014年计划

1、博客 两周一篇 是为了沉淀,也是为了让自己思考,给自己留下思考的时间;
2、读书 与上面相关,虽然这是一种投入产出比不高的活动,但其精髓在于慢,数量为40;
3、技术 需要对linux有更深入的了解,APUE,linux内核,操作系统,系统架构;
4、运动 每两周至少大活动量的运动一次。
5、包包大人健康的长大
6、老婆大人的新年愿望

三、感恩

感谢老婆大人,是你辛苦将我们的宝贝包包大人带到这个世界,辛苦了!!
感谢两边的父母亲,你们养育了我们,为我们操碎了心,小宝宝出来了,你们还得操心,谢谢!
感谢在WS的朋友和同事,虽然离开了,但是你们曾经对我的帮助铭刻在心。
感谢兄弟的一路相随!
感谢er、reeze、张老板,terry,blank,感谢这一年在我生命中出现的人们,感恩。

四、结束语

2013还可回首望望,只是已经过去,现在还在我们手里,把握现在的你手里的,你身边的,相信未来会更美好。
2013~2014,很好的年份,1314,希望没有找到另一半早点成家,成了家的早点有小宝宝,一生一世。

五、附录A 2013读书列表

2012年度总结

在2011年的年度总结有说过:“以前没有写总结的习惯,那么从2011开始吧。”,今天算是第二年了。时间真的是把杀刀,咔咔的就过去了,带过了即将结束的青春的尾巴,也许明年就不能过青年节了。

一、2012年总结

1、2012计划实现情况

<< 2011年度总结 >> 总结中,有量化2012的计划:

2012,给个量化的值吧。
1、读书:10+技术书,30+非技术且不含小说
2、工作:把没有实现的那2个想法实现,参与开发,每周至少一个工作日在编码。
3、生活:把1件大事给办了。
4、TIPI;发布3章+

第1项完成,还有多的,虽然看的书比较扯淡。技术没有明显进步,还是局限在一个小地方打转。没有深度和广度的探究,轻慢了,唉。第2项只能算是基本完成,想法实现了大半,又有了新的想法,只是不晓得有没有机会去实现了。坚持在工作中参与编码,有时却有些力不从心,打断太多,事儿太杂,也该理理了。第3项圆满完成,虽然过程中有些小波澜,但是结果是好的。第4项貌似没有完成……

2、关于生活

对于我来说,2012是一个很忙的年份,在深圳买了房子,算是深圳人了,在深圳结婚了,后代也算是深圳人了,也许这根就留在深圳了。

深圳的房子贵,关内 2万+ 一平的房子,2个月看了不下30间,有那么一两间合适的,还巨贵。算了,和媳妇商量着是不是去关外买一个。在关外看了两间,都是小复式,都挺喜欢的,于是在5月1号劳动节之前的那个晚上就定了。到年底,到手的小窝总价涨了10多万,直叹媳妇决策英明。给自己住的,也没有太多的讲究,到时候简单买些家具,布置下,这事就算是完了。

结婚。嗯,现在是已婚人士了。
求婚策划了好久,不过因为没有经验,也没有给媳妇买过戒指,在晚上量媳妇手指大小时把媳妇给弄醒了,于是这事就给让她知道了,但是打死也不透露具体时间。终于在其好友的帮忙下,把她约出去后,在家里客厅详细布置了一番,才求婚成功,算是有点惊喜。比较纠结的是在求婚的时候嘴巴还是歪着的。

说完喜事,得说点纠结的事,在<< 那段不堪回首的日子 >> 记录中,已经说过了,这事影响了求婚,影响了结婚,也影响了工作,因为每天都需要请假做冶疗。

这一年基本就三件大事了。

3、关于工作

在5月份因为某些事情写了篇 << 转岗一年总结 >>,这里算是其延续。虽然拉长整个时间轴会发现遇到的困难都不算困难,因为一切都会过去。老大换了一个部门,我也换了一个老大,不晓得将来会是怎样,只是还在那里坚持,不知道是为了什么而坚持。忙,盲,茫?

这一年以来,明显感觉到自己成长了,不再是那个只会编码的程序员了,一些新的认识如下:
(1)对技术管理有了一点新的认识。
技术管理管的技术,管的是技术能力,管的是项目开发。技术是指你所领导的团队的技术规划,正在使用的技术的优化,正在运行的架构调优等。技术能力是指团队成员的技术能力,技术管理更多的是关注成员的技术成长,为其规划成长路线。项目开发是指实际项目过程中对项目采用的技术进行审核,跟进开发过程。
(2)对编程和技术管理的关系的重新认识。
做技术管理需要编程,但不能全部投入到编程中,只能有大概10%到20%的时间在编程上。如果投入时间过多,其结果是你所参与的项目延期,部门工作混乱。并且参与的编程工作尽量不是那种与项目相关,不能让其它人的任务依赖于你的任务。可以是预研性质的代码,或改BUG性质的。
(3)开始学会从更高的层面或不同的角度去看问题。
看问题不能局限于自己的一亩三分地,需要从小部门或大部分,甚至整个公司去考虑某个项目的必要性。老大一直强调要有产品经理的思维,有些许改进,却不甚理想。

还存在问题的地方:
(1)识人的能力
这一年招聘了一些人,有些人还在试用期就走了,什么原因呢?没有想清楚需要的是什么样的人。黄叔说:“交友须胜己,似我不如无”,是要一个技术厉害的,还是一个合适的,技术一般的。能力,态度,孰重?孰轻?可能有人能说会道,实际能力并没有嘴巴厉害;可能有人在面试时态度极好,实际工作态度却大相径庭;如何在面试时把人的能力和态度在一定程度上认清,是一个大的课题。
(2)说话沟通的能力
说话存在两个问题,一个是有时说话声音小,让人听不清,这点我们家领导多次批评了我,却没有明显好转;另一个是在激动时会出现说话中断情况。沟通存在表达的问题,即在表达一个内容时干巴巴的,不够丰满和形象,用一句话来说就是说话太程序员了。
(3)写文档的能力
不管是写WORD,还是写PPT,形式只是外在表现形式,关键是思路。有些东西存在,却无法形成合适的文档表现出来。
(4)技术广度和深度
现在技术到了一个瓶颈点,需要量的积累,这个量不仅仅是知识的量,还有实践的量,另外还需要加强对新知识和新技术的了解和实践。

以上的这些问题都需要时间的积累,在流水的日子里练习,只有不断的练习才会有提高,面试更多的人,多表达,多沟通,多写文档,在这些练习过程中和练习之后,思考你的问题,不断提高。

4、关于学习

读了蛮多书(列表见附录A:2012读书列表),大多不求甚解。读书的目的,一是让自己了解一些经典的东西和一些新的东西,二是让自己养成读书的习惯,三是让自己的思维更系统化。可能读书的ROI不高,却是一个细水长流的活,在将来的某一天你会发现自己的巨大的成长。

TIPI项目在上半还有一些时间兼顾,写了一些东西,却没有太大的改版,也算是去年的遗憾。

二、2013年计划

2013年已经开始了,这三天也狂看书中渡过,算是一个好的开始吧。计划,简单点,量化:

1、过PMP
2、看5+管理 10+技术 10+其它书籍
3、熟悉YII框架的源代码,对其各个模块有清晰的认识(貌似这里没量化了)
4、加强对Linux的认识(量化一些,虐APUE两遍,并结合PHP内核)
5、完成媳妇的两个梦想
6、加强在工作上的掌控力,项目的按时完成率在80%以上。
7、Blog – 平均每月两篇+,这个一直在减少,一部分是觉得写的东西不是自己想要的,有时候文章写了一半,
发现没啥意义,就不写了;一部分是时间更少了,有新的东西需要自己去做。

三、感恩

到感恩环节了。

感谢两边的爸妈,累了半辈子了,养育之恩。感谢一直陪着的兄弟,感谢求婚时帮忙的朋友们,感谢到结婚现场祝福的兄弟姐妹,感谢这一年在我生命中出现的人们,心怀感恩。2013我们还活着。

四、结束语

到这里,应该要写白驹过隙、日月穿梭了。一年就真的过去了,回首望去,荆棘的路上布满了努力 的脚印,新的一年,会有新的开始。

五、附录A 2012读书列表

感谢刀马douban读书列表生成工具