写点什么

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

2020 年 4 月 28 日

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

“架构师”究竟是什么?


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


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


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


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


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


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


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


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


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


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


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


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


结束语


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


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


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


作者介绍


宋涛 ,携程集团机票业务技术总监


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


本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接


https://mp.weixin.qq.com/s/yfOVU8EoH6tNnGWgIknYyw


2020 年 4 月 28 日 10:001574

评论

发布
暂无评论
  • 为什么总有人觉得 5 万块钱可以做一个淘宝?

    淘宝的工程师之所以要改进系统,真实的驱动力不是技术,而是不断攀升的业务量带来的问题复杂度。

    2019 年 4 月 3 日

  • 架构师 3 期 3 班 -week4- 总结

    week4 总结

    2020 年 12 月 18 日

  • 课程介绍

    2019 年 7 月 8 日

  • 学了那么多技术,为何依然成不了架构师

    在我们的周围存在着很多的全栈工程师,极客达人,他们热爱技术,善于使用各种工具,甚至可以熟练使用多种开发语言,解决各种技术上的问题,但是却无法成为掌控全局的架构师,无法做出最优的架构决策,这是为什么呢?

  • 快手服务治理平台 KESS 的设计理念和实战

    演讲嘉宾曹福祥,快手科技基础平台架构师内容介绍随着用户增长和业务规模的扩大,快手经历了从传统 Web 服务架构到微服务架构的演进。整个过程对基础设施的建设提出了一系列挑战,包括多数据中心服务治理,复杂服务网络监控和容错管理,以及如何在应用框架层提升业务开发的效率和质量等。针对这些挑战,我们设计和开发了服务治理统一平台 KESS。该平台目前支撑了快手内部跨多个数据中心1000+的微服务。本次演讲将为大家介绍 KESS 的设计理念,以及在服务治理方面的实践经验和思考。内容大纲1、快手后端服务架构演进过程和现状2、KESS 的设计及服务治理相关实践: ① 配置中心 ② 服务发现和路由管理 ③ 统一监控平台 RPC Monitor ④ 应用程序开发框架 ⑤未来的计划

    2019 年 1 月 2 日

  • 架构师之面向对象的设计模式

    设计模式

    2020 年 6 月 24 日

  • 架构演进:中台、云原生,百度基础架构背后的那些思考

    百度的核心业务对基础架构有没有特殊的要求?中台和微服务在架构领域处于什么样的位置?云原生架构的本质和影响是什么?中小企业架构师该如何设计IT架构?带着这些问题,InfoQ记者采访了QCon 北京 2020《架构演进》专题出品人,百度基础架构部主任架构师郑然。以下为采访实录。

  • 高并发系统:它的通用设计方法是什么?

    高并发系统演进是一个渐进的过程,我们需要灵活运用Scale-out、缓存、异步三个设计方法,具体问题具体分析。

    2019 年 9 月 18 日

  • 架构师第一周

    系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。

    2020 年 9 月 20 日

  • 架构师第一周作业

    系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。

    2020 年 6 月 10 日

  • 架构师特刊:ArchSummit 深圳 2019

    架构能力取决于你的选择。有人说,人生就是不断选择的过程,其实即使作出选择,后期也会持续的变化、修正,这是一个不断积累的过程。

  • 基于微服务的混合云和同城双活实践

    演讲嘉宾拥有14年技术研发及管理经验,参与/主导的研发项目涉及嵌入式开发、移动开发、后台开发、系统架构等方面。近几年主要专注在微服务架构方面的研发和管理工作,从0到1组建了乐信架构团队,主导并推动了乐信集团业务系统从单体应用架构向微服务架构的演变、从 PHP 技术栈向 Java 技术栈的无缝转型,从私有云向混合云的进化,及新一代的同城多活技术架构的研发与落地工作。亲身实践了一家创业公司业务从小到大逐步发展壮大的过程中,可能会遇到的技术问题、以及为解决这些问题而进行的技术架构演进,既包括了支持微服务体系所需的各种底层组件、中间件、配套系统的建立,也包含了研发流程及规范的变化与完善。内容介绍业务系统演变成微服务架构后,基本上可以通过简单的扩容来应对各种大促流量,但什么时候扩容什么时候缩容,怎么扩缩容、系统热点服务如何发现,预估之外的情况如何应对……除此之外,随着系统容量进一步扩大,整个集群规模也变得越来越大,继续增长下去,整体维护的复杂性也会直线上升,而且总有一天会到达上限瓶颈,这时候该怎么办?这一系列问题都需要系统性考虑,乐信架构团队为此做了一些探索和实践,这也是本次分享的内容基础。

    2019 年 7 月 26 日

  • 第 61 讲 | 刘俊强:技术最高决策者应该关注技术细节吗?

    作为技术最高决策者是否应该关注技术细节?结论为,符合其使命和职责方向的技术细节需要关注,此外的技术细节不必要关注。

    2018 年 7 月 30 日

  • 架构师 Week5 总结

    技术选型一

    2020 年 11 月 19 日

  • 架构训练营第三章课后作业单例模式 组合模式

    单例模式 组合模式

    2020 年 6 月 23 日

  • 架构师(2017 年 7 月)

    本期主要内容:Oracle的Java模块化系统保卫战;Apple发布Core ML,为Apple设备提供了机器学习功能;WebAssembly,火狐赢了?Python向来以慢著称,为啥Instagram却唯独钟爱它?高负载微服务系统的诞生过程

  • 2020/6/16 架构学习心得

    架构师 学习心得

    2020 年 6 月 16 日

  • 架构 0 期 Week5Work1

    public class HashFunctionImpl implements HashFunction {

    2020 年 7 月 8 日

  • 熟练掌握 Spring Cloud 已然成为 Java 工程师的面试门槛,简历上没写熟悉掌握微服务连面试机会都难得!

      最近几年,微服务架构一跃成为 IT 领域炙手可热的话题,大量一线互联网公司因为庞大的业务体量和业务需求,纷纷投入了微服务架构的建设中,像阿里巴巴、百度、美团等大厂,很早就已经开始了微服务的实践和应用。

    2020 年 12 月 16 日

发现更多内容

架构5班3-4组优秀作业

tracy

程序员不得不知的十大职场误区

陆陆通通

程序员 职场 架构师 工资 误区

架构师训练营第四章总结

叮叮董董

总结 架构师 训练营

成功从小公司跳槽进蚂蚁定级P7,只因刷了七遍这些面试真题

互联网架构师小马

Java 程序员 面试 找工作 架构师

一路“开挂”,完美诠释“年少有为”——90 后首席科学家王乃岩

二叉树视频

写作平台 二叉树 年少有为

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

Carlos

第四周总结

石刻掌纹

HTTP 的15个常见知识点复习

pingan8787

Java 前端 Web HTTP

第四周直播总结笔记

Carlos

为什么美国程序员工作比中国程序员工作轻松、加班少?

程序员生活志

程序员 加班

“信息茧房”里的人

架构精进之路

自我思考 程序员成长

Kafka面试题——20道Kafka知识点

奈学教育

Kafka知识点

游戏夜读 | 不受欢迎的那个人

game1night

《机器学习理论导引》阅读攻略

华章IT

学习 周志华

深入浅出Shiro系列

程序员的时光

架构师训练营第四章作业

叮叮董董

架构 技术方案 解决手段 互联网架构

大型互联网应用技术方案

石刻掌纹

分布式柔性事务之事务消息详解

奈学教育

分布式事务

设计模式

Jeff

项目域名配置流程

打鱼小王子

以应用为中心:开放应用模型(OAM)初探

郭旭东

Kubernetes OAM

爱恨交织的红黑树

ytao

数据结构 算法

分布式柔性事务之事务消息详解

古月木易

分布式柔性事务‘’

漫画通信:惊呆了,手机登录还可以这么玩!

阿里云Edge Plus

云通信 通信 通信云

架构师训练营第4周作业

时来运转

架构师训练营第 4 周 总结

时来运转

Kafka面试题——20道Kafka知识点

古月木易

Kafka知识点

使用 Prometheus-Operator 监控 Calico

米开朗基杨

Prometheus calico

架构师训练营第四章作业

饶军

week04 学习总结 互联网面临挑战和架构模式

Z冰红茶

命题作业和总结—第四周

于江水

极客大学架构师训练营

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