QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

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

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:001637

评论

发布
暂无评论
发现更多内容

从『用户』到『客户』,企业服务平台如何实现高效转化?

易观大数据

架构师训练营 1 期第 2 周:框架设计 - 总结

piercebn

极客大学架构师训练营

京东T8Java架构师分享Docker和Kubernetes开源书,PDF版免费下载

Java成神之路

Java Docker 程序员 面试 编程语言

〈Java开发手册(嵩山版)〉灵魂15问,深究Java规约背后的原理

Java成神之路

Java 编程 程序员 面试 阿里

腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记

周老师

Java 编程 程序员 架构 面试

关于招聘的一些思考

石云升

面试 考核 招聘 下放招聘权

机构进场区块链安全基础设施准备好了么?

CECBC区块链专委会

区块链 数字资产

SpringBoot-技术专题-提升服务吞吐量

李浩宇/Alex

Rust所有者被修改了会发生什么?

袁承兴

rust 内存管理 智能指针

架构师训练营第 1 期第二周总结

Leo乐

极客大学架构师训练营

一个草根的日常杂碎(9月25日)

刘新吾

社会百态 生活随想 日常杂碎

四年开发经验从美团、360、陌陌、百度、阿里、京东面试回来感想

Java架构师迁哥

AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清

华为云开发者社区

人工智能 学习 迁移

一文快速入门分库分表

程序员内点事

Java 分库分表

【FastDFS】小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?

冰河

分布式存储 fastdfs

SQL 如何做 Join

Rayjun

sql

Week 2 Assignment

Yinan

跟着B站UP主小姐姐去华为坂田基地采访扫地僧

华为云开发者社区

华为 技术 大牛 扫地僧

某大厂一位核心技术人员不小心泄漏的公司内部培训以及工作笔记内容,手慢无。

Java架构师迁哥

架构师训练营---第二周课后练习

Jacky.Chen

云小课 | 不小心删除了数据库,除了跑路还能咋办?

华为云开发者社区

数据库 数据恢复 dba

工作五年,一年内我靠这系列java面试宝典从13K到大厂30K

Java成神之路

Java 程序员 面试 编程语言

因材施教,阿里腾讯大牛耗时7天,整理不同人群适合的面试题合集

小Q

Java 编程 程序员 架构 面试

来不及解释了,快上车!快速开发平台,助力企业搭乘万物互联顺风车

Philips

敏捷开发 企业开发 互联网革命

架构师训练营 1 期 - 第二周 - 设计原则

三板斧

极客大学架构师训练营

JAVA JDBC

Isuodut

进击的无源光网络:产业园区里的“追光者”

脑极体

为什么海外服务器打开网站会卡呢?

德胜网络-阳

框架设计:作业

Nick~毓

Git 操作

老菜鸟

git

一周信创舆情观察(9.14~9.20)

统小信uos

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

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