凤凰架构-介绍

周志明《凤凰架构:构建可靠的大型分布式系统》
https://icyfenix.cn/

作者,如何理解”可靠“的软件系统,架构演进的驱动力是什么。

目录

    • 关于作者
        • 周志明
    • 如何构建一个大规模但依然可靠的软件系统
    • 架构演进的驱动力

关于作者

周志明

  • 程序员
  • 研究员
  • 计算机技术作家
  • 技术布道师

职业是上市公司的高级管理人员,实际是一名兼职一些管理与研究工作的程序员。

做技术不仅要去看、去读、去想、去用,更要去写、去说。

终身学习让自己有个年轻的灵魂,终身锻炼让自己有个年轻的身体。

如何构建一个大规模但依然可靠的软件系统

一套“靠谱”的软件系统,尤其是大型的、分布式的软件系统,很难指望只依靠团队成员的个人能力水平,或者依靠质量管理流程来达成。

根据“墨菲定律”和在“大规模”这个前提下,在做软件开发时,你一定会遇到各种不靠谱的人员、代码、硬件、网络等因素。如果一项工作,要经过多个“不靠谱”的过程相互协作来完成,其中的误差应该会不断地累积叠加,导致最终结果必然不能收敛稳定。

在软件工程世界里,把出错看作是正常、甚至是必须的发展过程,只要出了问题能够兜底,能重回正轨就好。

作为一名架构师,在软件研发的过程中,最难的事儿,其实并不是如何解决具体某个缺陷、如何提升某段代码的性能,而是如何才能让一系列来自不同开发者、不同厂商、不同版本、不同语言、质量也良莠不齐的软件模块,在不同的物理硬件和拓扑结构随时变动的网络环境中,依然能保证可靠的运行质量。

架构演进的驱动力

软件架构风格从大型机(Mainframe),发展到了多层单体架构(Monolithic),到分布式(Distributed),到微服务(Microservices),到服务网格(Service Mesh),到无服务(Serverless)……你能发现,在技术架构上确实呈现出“从大到小”的发展趋势。

架构演变最重要的驱动力,或者说产生这种“从大到小”趋势的最根本的驱动力,始终都是为了方便某个服务能够顺利地“死去”与“重生”而设计的。个体服务的生死更迭,是关系到整个系统能否可靠续存的关键因素。

整个“演进中的架构”这部分,一条重要的逻辑线索就是软件工业对如何拆分业务、隔离技术复杂性的探索。从最初的不拆分,到通过越来越复杂的技术手段逐渐满足了业务的拆分与协作,再到追求隔离掉这些复杂技术手段,将它们掩埋于基础设施之中,到未来(有可能的)重新回到无需考虑算力、无需拆分的云端系统。

流水不腐,有老朽、有消亡、有重生、有更迭,才是正常生态的运作合理规律。

你可能感兴趣的:(读书,架构,架构)