架构初探(中)| 青训营笔记

63 阅读3分钟

2. 企业级后端架构剖析

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

云计算的本质是将有形产品(网络设备、服务器、存储设备、各种软件等)转化为服务产品,让人们通过网络远程在线使用,使产品的所有权和使用权分离

云计算基础:

  • 虚拟化技术

    • 硬件层面(VM 虚拟机)- KVM/Xen/VMware
    • 操作系统层面(Container 容器)- LCX/Docker/Kata Container
    • 网络层面 - Linux Bridge/Open v Switch
  • 编排方案

    • VM - OpenStack/VMWare Workstation
    • Container - Kubernetes/Docker Swarm

云计算架构:

  • 云服务

    • IaaS - 云基础设施,对底层硬件资源池的抽象
    • PaaS - 基于资源池抽象,对上层提供的弹性资源平台
    • SaaS - 基于弹性资源平台构建的云服务
    • FaaS - 更轻量级的函数服务。好比 LeetCode 等 OJ,刷题时只需要实现函数,不需要关注输入输出流
  • 云部署模式(拓展)

    • 私有云 - 企业自用

    • 公有云 - AWS/Azure/Google Cloud/Huawei

    • 混合云

image-20230205230901255

再看一下云原生。云原生,实际是云原生(计算)的简称,它是元计算发展到现在的一种形态。

云原生技术为组织(公司)在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能。它的代表技术有:

  • 弹性资源
  • 微服务架构
  • DevOps
  • 服务网格

基于这些技术,开发者可以构建出容错性好、易于管理、具备较好观测性的云服务。结合可靠的自动化机制,服务可以轻松应对频繁和可预测的重大变更。

云原生主要涉及四个大方面:

弹性资源

基于虚拟容器和灵活的调度机制,云服务可以快速扩容或收缩,极大地提高物理资源的利用率。在这方面,kubernetes技术已经成为行业标准

微服务架构

还记得我们之前谈到的微服务架构吗?是的,它也是云原生的关键构建块之一。云服务依托于功能单元的解构,有了快速迭代和快速业务发展的可能。统一的通信标准将帮助越来越多的组件加入云原生家族,同时使组件之间的交互更容易

DevOps

设计->开发->测试->交付->开发->测试->交付,自动化的流程使得软件的工作流程更高效,将微服务架构的优势发挥的淋漓尽致

服务网格

如果说微服务架构的主要进步是通过业务功能将大型单片服务解耦,那么服务网格的主要进步则是将业务逻辑与网络通信和治理解耦。业务不再需要关心异构系统中RPC中间件治理功能的不统一,这使得实现复杂的治理功能成为可能

image-20230205233007880

image-20230205233017555

image-20230205233027252

image-20230205233036898

image-20230205233047003

image-20230205233057928

image-20230205233108603