前言
这本书出了已经有一段时间了,一直没有时间去读,最近抽空来记录一下。
对于书的本身来说,一开始我认为这本书会说明的更加细致一些,但是实际我也想到,如果每个地方都说的仔细的话,这本书肯定就很厚了。书本身很不错,主要是介绍了从第一次双十一开始,一直到2016年所有双十一的经历,每次经历都出现了一些什么样的情况,如何去解决的。
感受
在读这本书之前,你需要做好准备,这本书本身不是向你来介绍淘宝的技术的,虽然都有介绍,但是仔细看里面的文字你就知道,这不是重点。而这本书的重点,是在传递一种想法和能量。总之,在我读完之后,我的感觉是,这本书带给我的想法多于实际的技术。
笔记
技术架构
1、共享服务:聚划算、淘宝、天猫,基于共享服务创建,其中遇到的问题为,商品的数据归一化等。
2、分布式:之前每个板块都是独立系统,公共的数据都是直接访问数据库,之后构建共享服务层来将公共的业务元素抽离出来形成共享的服务。
3、中间件:为了解决分布式事务的问题,把原本一个事务里面的工作拆成异步执行,采用消息中间件解决。
4、异地多活:交易单元可以在任意地点部署,随时在线切换。
5、云化:利用云上资源快速使用,快速释放。
6、OceanBase:云数据库
7、Weex:移动端动态框架,跨平台
8、Hilo:H5跨终端的互动游戏解决方案
如何保证稳定
1、提前估算容量:利用对系统的评估,对容量进行预测,考虑扩容或者缩容。
2、全链路压测:以利用自己研发的压测的系统进行测试,在线上直接测试的时候需要保证数据等问题。
3、故障演练:故意制造断电、断网,等异常进行演习。
4、系统自我保护:限流、自动降级“弃车保帅”、流量调度、负载保护、预案和报警提醒
总结
1、双十一不是一蹴而就的,技术也是:这本书很大的篇幅都是在介绍技术的演进,从一开始最基本的结构技术,到之后最新最厉害的技术,整个过程一步步走下来,我们能看到的是技术的不断的追求。其实或许一开始技术是满足不了人们的需求,但是为了实现最终的目标,技术不断的更新换代,慢慢才走到了今天这个地步。所以,在实际的开发过程中,如果你已经有经验和能力一步到位,那么最好;如果不行,那么慢慢演进你的架构和技术也并非不是一件很丢脸的事情,一开始我们是确实不行,但是我们会尽我们自己的能力去做好下一次。
2、事故不可避免:即使是双十一的团队,在之前的双十一中也出现了大大小小的事故,有的事故容易解决,有的事故相当的可怕,因为对于商品的买卖,交易等等,一但涉及到这些地方数据量,中国人又这么多,一下的损伤都不可估计。但是,团队本身没有人退却,即使哭,他们说着下一次我依旧要站在双十一的战线上。
3、无论什么问题,都可以被测试:双十一的团队为了模拟各种各样的线上真实环境的,为了测试这样大的交易量,建立了全链路压测这样的测试方法,还进行了各种各样的模拟。所以,只要是问题就一定能被测试出来,只要你能考虑到的情况,无论怎么样都要去想办法构建测试的环境,只有这样才能保证安全。一丝不苟。
4、架构无法复制:世界上没有两个一模一样的叶子,也没有两个一模一样的项目。你肯定不能复制一个淘宝,也不能复制一个双十一的项目。所以这样大型的架构其实对于很多人来说并没有什么用,根本不可能应用到实际中去。这也是这本书没有详细讲解技术的原因,其背后的技术也是讲不完的。你能学到的到是一些设计的思想和解决问题的方法。
5、双十一已经成为现实:以后的开发过程中,当你觉得困难的时候,就能想到,如果你的并发没有超出双十一,那么就一定有解决的办法;如果能超过双十一,那你应觉得庆幸,你正在创造历史。
作者:LinkinStar