架构初探 | 青训营笔记

70 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第七天

架构定义解析

架构,又称软件架构,是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。

架构的基本类型有:

  • 单机架构

  • 单体架构

  • 垂直应用架构

  • SOA (面向服务架构)

  • SOA 架构中,服务为一等公民,将进程按照不同的功能单元进行抽象,拆分为『服务』。有了服务之后,SOA 还为服务之间的通信定义了标准,保证各个服务之间通讯体验的一致性。

    优点:

    • 各服务的职责更清晰
    • 运维粒度减小到服务,爆炸半径可控

    缺点:

    • ESB (企业服务总线) 往往需要一整套解决方案

企业级后端架构剖析

云计算

云计算基础:

  • 虚拟化技术
  • 编排方案 云计算架构:
  • 云服务
    • IaaS - 云基础设施,对底层硬件资源池的抽象
    • PaaS - 基于资源池抽象,对上层提供的弹性资源平台
    • SaaS - 基于弹性资源平台构建的云服务
    • FaaS - 更轻量级的函数服务。好比 LeetCode 等 OJ,刷题时只需要实现函数,不需要关注输入输出流

云部署模式(拓展)

  • 私有云 - 企业自用
  • 公有云 - AWS/Azure/Google Cloud/Huawei
  • 混合云

云原生

云原生,实际是云原生(计算)的简称,它是云计算发展到现在的一种形态。 云原生技术为组织(公司)在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能。

企业级后端架构的挑战

云如何解决近乎无限的弹性资源和有限的物理资源之间的矛盾?

如何提高资源利用率,提高物理资源的价值转换率?

上了云原生微服务后,服务之间的通信开销较大,应该如何做成本优化?

微服务看起来没有那么美好,抖动导致的运维成本较高,如何解决?

异构的物理环境应该对用户是透明的,如何屏蔽这些细节?