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
-
混合云
-
再看一下云原生。云原生,实际是云原生(计算)的简称,它是元计算发展到现在的一种形态。
云原生技术为组织(公司)在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能。它的代表技术有:
- 弹性资源
- 微服务架构
- DevOps
- 服务网格
基于这些技术,开发者可以构建出容错性好、易于管理、具备较好观测性的云服务。结合可靠的自动化机制,服务可以轻松应对频繁和可预测的重大变更。
云原生主要涉及四个大方面:
弹性资源
基于虚拟容器和灵活的调度机制,云服务可以快速扩容或收缩,极大地提高物理资源的利用率。在这方面,kubernetes技术已经成为行业标准
微服务架构
还记得我们之前谈到的微服务架构吗?是的,它也是云原生的关键构建块之一。云服务依托于功能单元的解构,有了快速迭代和快速业务发展的可能。统一的通信标准将帮助越来越多的组件加入云原生家族,同时使组件之间的交互更容易
DevOps
设计->开发->测试->交付->开发->测试->交付,自动化的流程使得软件的工作流程更高效,将微服务架构的优势发挥的淋漓尽致
服务网格
如果说微服务架构的主要进步是通过业务功能将大型单片服务解耦,那么服务网格的主要进步则是将业务逻辑与网络通信和治理解耦。业务不再需要关心异构系统中RPC中间件治理功能的不统一,这使得实现复杂的治理功能成为可能