技术杂谈20 分钟读完 (大约3032个字) 上周六,周日在南京举办了 IAS 架构师峰会,这么多人的技术分享会还是头一次参加,大佬云集,涨了不少姿势。特此一篇记录下印象深刻的几场分享。由于全凭记忆叙述,故只能以流水账的形式还原出现场的收获。
大型支付交易平台的演进过程
陈斌,《架构即未来》译者,易宝支付 CTO。
交易系统具备以下特点,交易量大,并发度高,业务敏感度高,响应速度容忍度低… 从而使得支付交易平台需要有以下的特点:
- 高可用:7X24*365 随时可用
- 高安全:需满足 PCI-DSS 要求
- 高效率:每笔交易的成本要低
- 高扩展:随业务的快速发展扩张
从以上几点话题引申出了系统扩展的三个阶段
**X 轴扩展 – 扩展机器 **
也就是通俗意义中集群方案,横向扩展,通过添加多台机器负载均衡,从而扩展计算能力,这是最简单粗暴,也是最直接易用的方案。
**Y 轴扩展 – 拆分服务 **
当水平扩展遇到瓶颈后,可以进行服务的拆分,将系统按照业务模块进行拆分,从而可以选择性定制化地扩展特定的模块。如电商系统中拆分出订单模块,商品模块,会员模块,地址模块… 由于各个模块的职责不同,如订单模块在双 11 时压力很大,可以多部署一些订单模块,而其他压力不大的模块,则进行少量地部署。
**Z 轴扩展 – 拆分数据 **
服务拆分之后仍然无法解决与日俱增的数据量问题,于是引发了第三层扩展,数据的分片,我理解的 sharding,不仅仅存在于数据库,还包含了 redis,文件等。
另外陈斌老师还聊了一个有意思的话题,系统可用性下降的原因根源是什么?最终他给出的答案是:人。系统升级后引发的事故 80% 是由于人的误操作或者触发了 bug 等人为因素导致的,是人就会手抖。借此引出了单元测试,持续集成,持续交付的重要性。健全这三者是保障系统可用性的最大利器。
在技术晚宴,陈斌老师又分享了一些管理经验:** 如何打造一支优秀的技术团队 **。
分析了构成团队的四要素:
- 人员:健全职级体系,区别考评,挖掘潜能,及时鼓励,扁平化管理
- 组织:面向产出,利于创新,敏捷小团队
- 过程:聚集问题的根源,适当地使⽤用 ITIL,不断优化过程,自动化取代人工
- 文化:鼓励分享,打破 devops 的边界,鼓励创新,树⽴立正确的技术负债观
对于技术人员来说可能有点抽象,不过对于立志于要成为 CIO 的人肯定是大有裨益的,具体的理解可以参考《架构即未来》中的具体阐释。(ps:这里的架构并不是指技术架构,别问我为什么知道,问问我看了一半后在落灰的那本书,你什么都明白了)