专栏首页云加推荐携程集团机票业务技术总监宋涛:扛得住流量洪峰,才是优秀架构师
原创

携程集团机票业务技术总监宋涛:扛得住流量洪峰,才是优秀架构师

 云加社区沙龙online「高可用结构之流量洪峰」专题分享倒计时1天! 本文是云加社区对此次活动出品人,携程集团机票业务技术总监宋涛老师的特别约稿,来跟大家谈一谈:架构师究竟是什么?

一、“架构师”究竟是什么?

在软件行业,是否要设立专职架构师,是一个充满争议的话题。一方面,技术日新月异,架构的重要性日益增长,这种情况下需要有人带领大家做重大的架构规划并落地实施;另一方面,架构师又常常会因为架构上的各种坑而被大家抱怨,甚至有一部分公司取消了专职架构师的职位。

在我看来,架构师更像是一种职责,一种各级技术人员或多或少都会涉及到的职责。其中既包括总裁级别的杰出工程师(Distinguished Engineer)设定技术方向、规划和规范,也包括一线工程师进行框架选择、技术迭代。需不需要设立专职架构师是一个见仁见智的问题。现在很多的国内外互联网大厂中,其实是没有架构师这个职位的。但这并不妨碍技术人在架构领域不断做出新的突破。

二、成为一名优秀的架构师需要有哪些特质?

在我看来,要成为一名优秀的架构师需要有三方面的特质:

首先,架构师要对业务领域非常了解,并有足够的能力来抽象出架构和系统相关的需求。在系统设计开发过程中,我们可能会注意到有些同事对业务细节理解很深,但是缺乏进一步抽象的能力来深挖系统的非功能性需求,包括安全、数据持久、系统可用、操作延时、数据一致性等。

其次,架构师要掌握主流技术及相应的优缺点,并有进一步学习的热情。架构师要做的一个重要工作是根据业务需求做出技术选择。所以,即要对当前技术的选择范围有明确的意识,又有能力在多个技术方案中间进行权衡比较并做出相对正确的决定。这些技术包括但不限于主流编程语言,应用框架,云计算产品,容器系统,开源工具等。

最后,架构师要对如何提升系统可靠性以及开发运维效率有自己的方法论。这其中可以学习其他公司的成功经验,例如谷歌公司的SRE原则和实践,亚马逊公司的Operation Excellence等。同时,在公司内部要建立事故复盘和教训分享的有效机制。一名优秀的架构师,可以在学习和实践中不断的成长,但最终一定是在经过多次的事故复盘(COE)和灾难恢复(DR)后才能蜕变升华

三、流量洪峰对架构师的成长价值

在评估一个软件工程师能力时,一个经常被问到的问题是,“你所设计开发的系统中,峰值流量是多少QPS,以及相应的容量SLA是多少”。

对于一个没有经过流量洪峰考验的系统,很难评估它的系统可靠性和设计合理性。因为,架构本身是一种权衡(Tradeoff)的艺术,而只有经过流量洪峰考验的架构师,才能让人相信他在权衡的时候,坚持了正确的设计理念和最佳实践

举例来说,对于流量很小的非核心服务,往往使用两个服务实例和一个数据库实例就可以解决基本的功能问题。而当流量上升之后,你就需要考虑增加服务实例和数据库实例的数目。而当流量继续上升之后,你又不得不加上各种缓冲,同时不得不处理缓冲数据一致性的问题。同时,随着架构复杂性的上升,你又不得不考虑更多的失效场景,增加系统健壮性(Resilience)和容错性的改造。

遗憾的是,在面试和技术讨论中,很少有人能够出色的回答前面提到的问题。大部分工程师的经历仅限于个位数的QPS,甚至连QPS的概念都欠缺。在大的企业当中,往往只有从事核心业务的工程师才有机会去面对这些挑战;相应的工程团队也往往具有相对最高的架构和设计水平。

四、结束语

我受到腾讯云「云加社区」的邀请,担任「云加社区沙龙online」「高可用架构之流量洪峰」专场的出品人及讲师。这次获得的议题,将会从一些流量洪峰的实际场景出发,与大家分享高可用架构的实战经验。其中,涉及到缓冲策略,调度方法,应用架构,可靠性实践等,这些也都是我很感兴趣的点。

同时,腾讯云CVM总监李力、贝壳金服小微企业生态CTO史海峰、奈学教育科技创始人&CEO孙玄,三位业界朋友,也会就「如何成长为一名优秀架构师」这一话题进行分享,相信这一分享也会使很多技术人获益。

最后,我也会在4月24日晚,从实践角度,与大家分享“携程机票查询系统的架构升级”,期待与大家相约!

作者简介

宋涛,携程集团机票业务技术总监,北京大学计算机系毕业,加州大学计算机博士。先后从事微软公司Windows团队,智能搜索团队的架构和技术管理工作,Amazon公司云服务部门云存储管理服务技术主管。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大咖们如何评判优秀架构师?

    李力:我成为架构师从某种程度上是一件机缘巧合的事情,腾讯没有架构师这样一个实际存在只去做架构规划的岗位,我们技术人员都统称为工程师。腾讯云在2012-13年刚开...

    腾小云
  • 在线教育技术方案,究竟哪种好?

    这一次疫情给整个教育行业带来了巨大的影响,在线教育量流量迎来了爆发式增长,成为了当前的热点话题,与此同时传统的线下教育机构也面临着巨大的生存挑战。

    腾小云
  • 日均20亿流量:携程机票查询系统的架构升级

    首先简单介绍一下机票的搜索业务:大家可能都用过携程,当你去输入目的地,然后点击搜索的时候,我们的后台就开始了紧张的工作。我们基本上会在一两秒的时间,将最优的结果...

    腾小云
  • 为什么很多程序员没有升级到架构师?

    对我们程序员来说,发展的途径要么是走管理岗,从开发升级到项目经理甚至是部门经理;要么走技术升级路线。不过在技术路线方面,无法升级到架构师的程序员不在少数...

    用户1153489
  • 架构师的工作都干些什么?!想做架构师必看!

    之前有网友说想看架构师升级的文章,所以写了本文。先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更能按架构师的...

    Java技术栈
  • 好文 | 架构师更多的是和人打交道,说说我见到和听说到的架构师升级步骤和平时的工作内容

    之前有网友说想看架构师升级的文章,所以写了本文。先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更能按架构师的...

    java进阶架构师
  • 架构师升级步骤和平时的工作内容!

    对于程序员来说,架构师是职业发展的一道坎,如果跨过去了,后面就前途无量了,否则可能一直得做着代码coding的事情。本文将从“如何升级”和“平时工作内容”两方面...

    Java后端技术
  • 架构师升级步骤和平时的工作内容!

    之前有网友说想看架构师升级的文章,所以写了本文。先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更能按架构师的...

    Java团长
  • 互联网架构师必备技能

    互联网架构师必备技能 一、每个好架构师都是一位出色的程序员 这一点毋庸置疑,如果不是写过N年代码的优秀程序员,一定不是好的架构师。“架构师”这是一个听上去比较虚...

    架构师之路
  • 以互联网公司的经验告诉大家,架构师究竟比高级开发厉害在哪?

    目前我在互联网公司里干了1年多,接触了多位技术和业务的架构师,由于我正在升级到架构师,所以能直观地感受到高级开发和架构的差距,而且,对于高级开发如何升级...

    用户1153489

扫码关注云+社区

领取腾讯云代金券