荆棘与玫瑰:基础服务架构师的成长之路
如果无法正常显示,请先停止浏览器的去广告插件。
1. 荆棘与玫瑰:基础服务架构师的
成⻓之路
九叔(高翔⻰)
前 阿里巴巴 高级技术专家
2.
3. 自我介绍:
高翔⻰,花名:九叔,历任 阿里巴巴 高级专家,云集基础架构负责人。曾主导过蚂蚁国际全球资
金网络的全局架构设计、云集技术架构从0-1的架构演变(分布式多活架构建设、全链路压测体系
建设、整体流控体系建设、以及相关中间件、组件的自研&二开),拥有大量高并发、大流量,以
及海量数据处理的实战经验,热衷于开源技术,常年游走在 Github上。
著有畅销书《超大流量分布式系统架构解决方案》、《人人都是架构师》、《Java虚拟机精讲》。
4. • Part1.基础服务架构师的必备技
• 深刻理解架构的道与术
• 技术深度优先,再横向扩展广度
• 懂业务,不炫技
• 软技能
5. • Part2.亿级流量网站面临的主要矛盾
• 分而治之:大系统小做
• 方案抉择:自研&开源的技术选型
6. • Part3.让自己的路越走越宽
• 极致自律:最大的对手永远只有你自己
• 强化自己的业界影响力
• 学会成就他人
7. Part1.基础服务架构师的必备技
深刻理解架构的道与术
架构到底是为了解决什么问题?
- 用于指导复杂业务系统的设计
App
架构的本质是什么?
- 架构会伴随业务增速而逐步演变,有序化对系统进行重构
什么样的设计才能够称得上是好的架构?
- 战略层面:能够高效支撑业务的快速发展;
- 战术层面:高扩展性、高维护性、高伸缩性、高复用性;
- 绝不是脱离业务刻意设计而来;
分布式系统架构演变过程
Service
单体应用
•
•
业务垂直化
•
•
•
SOA架构
•
•
•
微服务架构
•
•
•
•
•
•
•
•
•
•
•
•
8. Part1.基础服务架构师的必备技
技术深度优先,再横向扩展广度
业务架构师和基础服务架构师的区别是什么?
- 前者专注于具体的业务实现,后者专注于如何高效支撑业务实现
- 前者的思考来自于业务维度,后者的思考来自于技术维度
基础服务架构师的定位是什么?
- 某一个或多个技术领域的技术专家
- 既能够深入技术底层实现细节,又能够快速切换到高层业务领域
- 可以精而不广,但一定不能够广而不精
9. Part1.基础服务架构师的必备技
懂业务,不炫技
为什么基础服务架构师需要懂业务?
限时抢购读难题解决方案
update cache
- 技术要想产生价值就得贴合业务本质,增强与业务的咬合
•
Item Service
update cache
•
Redis
•
BMS
Passive update cache
- 不仅限于支撑业务团队,要学会在适当的时候反哺业务
两点之间线段最短
- 切勿过渡设计和复杂化
webserver-cluster
•
WebService-A
•
•
WebService-A
•
localcache
localcache
•
Get product information
•
- 解决问题采用最直接有效的方式,直击要害
WebService-A
•
Client
•
localcache
10. Part1.基础服务架构师的必备技
软技能
懂得共享目标
搞好合作关系
•
向上管理
11. Part2.亿级流量网站面临的主要矛盾
分而治之:大系统小做
拆系统主要为了解决哪些问题?
服务化架构 -->init -->async ━>sync
•
- 解决共享业务被重复建设问题,统一下沉
notify
怎么拆合理?
register
subscribe
invoke
- 解决公共资源的连接限制问题
- 解决大规模研发团队协作问题
Registry
•
Nginx
request
•
API
Gateway
• ServiceA
• ServiceB
• ServiceC
invoke
invoke
- 基于领域驱动设计(DDD),通过划分业务有界上下文(Bounded Context)边界来完成子系统的拆分
12. Part2.亿级流量网站面临的主要矛盾
方案抉择:自研&开源的技术选型
找准业务痛点
- 拿来主义,开源优先,不满足业务时再进行二开,或者自研
- 永远不要重复去造无意义的轮子
13. Part3.让自己的路越走越宽
极致自律:最大的对手永远只有你自己
警惕温水煮⻘蛙
- 勇于跳出自己的舒适圈
- 今天最好的表现是明天最低的要求
- 年龄、学历永远不是问题,最大的问题是能力与态度
技术变更快,怎么学习?
- 学会抓住事物的本质,培养自己的第一性原理思维方式
14. Part3.让自己的路越走越宽
强化自己的业界影响力
如何提升自己的业界影响力?
- 聚焦某一个领域扎根
- 多参与一些成熟的开源项目,成为Committer
- 热衷于把自己的经验总结和学习成果,通过文章、书籍的形式进行传播
- 多积极参加一些线下技术沙⻰,或者技术大会的分享
15. Part3.让自己的路越走越宽
学会成就他人
如何成就他人?
- 不要试图去控制任何人
- 多给一些机会,多让团队成员做他们感兴趣、且相对合理的工作
16.
17.