十多年前,从踏入程序员这个行业开始,我就想要成为一名架构师。架构师之路,是漫长而又艰苦的,特别是自己一个人苦苦摸索时。幸运其一:遇到很多垂直领域内,造诣很深的技术专家同事。运维专家,我从他们那里了解到了智能DNS,CDN,反向代理,网络安全等很多程序员可能平时都不关心的知识。数据库专家,我从他们那里了解到了数据库的各种架构设计,性能调优的独门秘籍。通信专家,我从他们那里学到了网络模型,同步异步,连接池等底层细节。系统专家,高可用,高并发,一致性,扩展性,负载均衡各种场景应该使用的工具以及应对。业务专家,搜索系统,消息系统,信息平台,交易平台,秒杀业务等各类业务的独特解法。在百度,做百万在线的即时通讯,做全网搜索引擎,起点就还不错。在58同城,做商家平台,支付平台,做二手信息平台,做信息系统,做智能推荐,做转转架构。在到家,在快狗打车,做框架组件,做基础服务,做工程效能/运维/测试各类技术平台。至于内因,对技术的一点点好奇心,以及一点点勤奋,应该也有加分。回过头去看过去15年的架构师生涯,当初改变什么,能让自己进步得更快一点?如果当初架构知识的学习,能够更系统一些,肯定会少走很多弯路。但架构的学习,和你所在的公司,所做的业务,业务所处的阶段有很大的关系。画外音:我在百度做的业务,一上来就是多机房多活的架构;在58同城,已经是微服务的阶段;在到家快狗,是起步的单体架构。没有一本进阶手册,系统性的告诉我:流量百万阶段,架构这么搞;流量千万阶段,架构这么搞;流量上亿阶段,架构要关注这些。也没有人系统性的告诉我:接入层这么设计,站点层怎么设计,微服务怎么设计,数据库缓存怎么设计。同样没有人告诉我:高可用的方法论,高性能的方法论,一致性的方法论,负载均衡的方法论。于是,我只能够,在做不同系统架构,业务架构的过程中,自己摸索,自己梳理,自己总结,直到今天。6月份的一天,我突发奇想,会不会有很多立志于成为架构师的小伙伴,也正苦于,无法系统性的学习互联网架构师的理论与实践,需要一份这样的手册呢?(1)流量从小到大,各个阶段,会遇到什么架构问题,应该用什么技术解决;(2)接入层,站点层,服务层,数据层,缓存层,各层设计技巧与实践;(3)高可用,高性能,一致性,负载均衡,各特性的设计方法论;(4)消息系统,搜索系统,feed系统,秒杀系统,各类系统细节;
如果你和我一样,对技术有一点点好奇心,也自信有一点点勤奋,对你一定有用。