架构初探 | 青训营笔记

80 阅读2分钟

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

一、本堂课重点内容:

  • 常见软件架构
  • 云计算架构
  • 云原生架构
  • 企业级后端架构的挑战

二、详细知识点介绍:

什么是架构

常见软件架构:

  • 单机
  • 单体(分布式部署)
    • 水平扩容
    • 运维不需要停服
  • 垂直应用(按应用垂直切分)
  • SOA (Service Oriented Architecture)
    • 将应用的不同功能单元抽象为**服务 **
    • 定义服务之间的通信标准
  • 微服务 (Microservice)
    • 去中心化方向的服务之间通信的最终形态
    • 不同模块的RD可以专心于自己的业务逻辑了,开发迭代效率得到显著的提高。
    • 各个服务独立运维,变更操作的影响面可控了

image.png image.png

企业级后端架构剖析

  • 云计算
    • 基础
      • 虚拟化技术(硬件(虚拟机)、操作系统(容器)、网络)
      • 编排方案 (虚拟机编排方案(OpenStack)、容器编排方案(Kubernetes))
    • 架构
      • IaaS (Infrastructure as a Service)
      • Paas (Platform as a Service)
      • Saas (Software as a Service)
      • FaaS (Function as a Service)
  • 云原生
    代表技术: - 容器化 - 服务网格 - 微服务 - 不可变基础架构 - 声明式API

image.png

  • 弹性资源计算类型:
    • 服务资源调度
    • 计算资源调度
    • 消息队列
  • 弹性资源存储类型
    • 经典
      • 对象:宣传视频
      • 大数据:用户消费记录
  • 关系型数据库
  • 元数据
  • NoSQL
    微服务架构选择:

image.png 服务网格:

image.png

企业级后端架构的挑战

  • 离线任务
  • 在线任务
  • IO 密集型
  • CPU 密集型
  • 服务治理
  • IPC (Inter-Process Communication)
  • RPC (Remote Procedure Call)

三、实践练习例子:

通过蛋糕店遇到以下问题来设计架构:

  • 不同师傅干活的效率差距较大
  • 有些师傅希望【能者多劳多挣】 通过CPU水位负载均衡,设计架构

image.png

image.png

image.png

image.png

四、课后个人总结:

通过本次课程,学习到了后端架构的设计。之前了解到的一些概念,通过今天的课程,有了一个深入的理解。也明白了为什么要用,应用的地方。比如云计算、RPC等概念,也了解到了容器技术。同时明白了设计架构需要先清楚解决什么问题,再进行调研,接着进行技术选型,最后考虑异常情况。