架构初探 | 青训营笔记

105 阅读2分钟

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

本次课程主要分为四个方面:

  1. 什么是架构
  2. 企业级后端架构剖析
  3. 企业级后端架构的挑战
  4. 后端架构实战

什么是架构

把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。

边界划分:根据要解决的问题,对目标系统的边界进行界定。

能力划分:对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。

交互机制:并对这些切分出来的部分,设立沟通机制。

根据3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作

企业级后端架构

云计算

云计算基础:云计算是指软件通过自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石。

虚拟化技术

硬件层面(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

混合云

后端架构实战

关于如何设计一个根据主机层面的资源信息,实时进行流量调度的系统。有三点关键点:

  • 紧急回滚能力
  • 大规模
  • 极端场景

课程总结

后续还要设计兰师傅蛋糕房的整套系统的架构设计,需要继续深入探索,从这节课,我认识到没有最好的架构,只有最合适的架构,学好架构,是工程师成长的一个重要标志。