一个微服务框架的故事

 

6年前,我们奋战了3天3夜,把一个从0到1的系统成功上线......

当应用系统正常运行那一刻,我似乎已经忘记了自己待在客户现场到底有多长时间了。不要紧,因为时间已经在系统运行的那一瞬间凝固且永久存留。

 

5年前,在推广过程中我们尝试了系统的首次扩容......

一年多下来,我见证了这个系统从零到数十万用户的增长。对于一个“初生牛犊”来说,无疑会流露出些许无法掩饰的骄傲,但骄傲的同时我需要面对一个无法规避的事实——系统瓶颈。因此,我们尝试了集群负载。

 

4年前,系统累计用户数突破500万......

 

面对着500万的用户数增长,我并没有太多的兴奋,内心反而会若隐若现地游离着一股莫名的忐忑。可能因为系统不断发展的臃肿,也可能因为用户数不断增加的并发压力,又或许……

 

3年前,一个“巴西世界杯”彻底把我们给压倒......

爱德华·墨菲已经狠狠地告诫过我,但我并没有意识到自身的问题所在而继续随波逐流。有些问题不是问题,但有些问题不止于问题,不止于问题的问题也许是大问题。就像“世界杯竞猜”,表面看似是并发问题,实质可能是整个系统架构的问题。活动期间,系统的持续不稳定把我给踢进了深渊,连续7天7夜的维护和调优也无法掩饰系统的臃肿、低效和复杂,哪怕轻轻一脚就能让我再度“失守龙门”,就算有足够的资源进行临时性扩容,但只能解渴并不能挨饿,墨菲还在。

 

2年前,系统全面服务化改造......

“世界杯”过后,我一度陷入了长时间的思考和自省。“事件”根源看似系统的瓶颈,实质上看到的就是自身的瓶颈。墨菲还在,我无法释怀。思考中,我不乏对技术源码的翻看,更不缺对前人经验的订阅,但依旧迷茫。知识是事物本质的描述,但我发现对知识的学习和理解更多会跟自身对该领域知识的渴望程度和自身的高度息息相关。就像查理·芒格的提醒,单一领域的活动范围是有限的,何不尝试打破领域的局限释放自己,综合性思考或许能让自己看得更加清晰。的确,根据我目前的状态,再多的计算机知识,也无法掩饰我视野狭窄的缺陷。幸好,从此刻开始我便拥有了渴望。我渴望知识,我渴望本质,我渴望一切疑虑的解答。在渴望中,我遇见了《失控》,它的“涌现”让我着迷,更让我看到了“分布式”的魅力。我尝试按照这种“分布式”方法论把原来这么一个“庞然怪物”按“领域界限”分解出一个个简单的个体服务,尝试以“分布式”的方式去呈现这种强大的魅力。最终,在历时数月的核心框架打造和系统全面服务化分布式部署之后,系统在2500万累积用户和800万月活跃用户的压力之下保持0系统故障率。

 

1年前,服务框架的可持续发展……

 

一句“简单就好”,不知导出了多少人的心声。有些人一生的积累可以堆积如山,有些人一辈子的积蓄只有简单一句。我曾在各种算法之中游离,却没发现我连最基础的“减法”都没有做好。我开始尝试去理解问题接近问题,尝试缩短问题与答案之间的关键路径,尝试把问题圈在简单之中……这些都是我一年下来都为止努力的尝试,尝试自我提高,尝试聚焦本质,尝试一切“从简”。结果呢,其实并没有什么结果。社会并没有在我思考的时候停止发展,问题同样在变。所以,我永远不会停止思考和尝试。就算系统在2000万月活跃用户的并发压力之下依旧稳定,我还是会主动往更简单、更高效、更灵活、更接近问题的方向发展。

 

如今,思考没有停止,尝试还在继续,可能没有不可能......

 

“好奇”和“自省”划清了人类与动物的界限,石器的猎捕、金属的耕耘、蒸汽的推动、芯片的计算、信息的智动……无时无刻驱动着人类社会的进步和发展。就像我们已经无法满足于当下这个650万日活跃用户乃至10万+并发的微服务应用了,我现在更愿意去尝试的就是打造我们的“微生态圈”,像生存在地球的人类个体,让微服务同样能在自己的生态圈内“智给智足”......

posted @ 2017-06-12 09:48 wc的一些事一些情 阅读(...) 评论(...) 编辑 收藏