这是我参与「第五届青训营」笔记创作活动的第七天,简要介绍了架构设计和云计算相关知识,也了解架构设计工作的具体流程
架构
什么是架构
- 定义
- 软件架构
- 整体结构和组件的抽象描述
- 指导软件系统各方面设计
- 用于方法选择
- 软件架构
- 分类
- 单机:所有功能都在一个进程里,并部署在一台机器上
- 优点:简单
- 问题
- C10K problem【排队】
- 运维停服
- 单体架构
- 分布式部署
- 多服务器分流,功能未分离
- 垂直应用结构【按照应用/功能划分】
- 按应用垂直切分的单体
- 优点:
- 水平扩容
- 运维不需要停服
- 缺点:
- 职责太多(未充分分工)
- 爆炸半径大,一个师傅出错,一条链出错
- SOA架构 service-oriented architecture
- 不同的功能单元抽象为服务
- 定义服务间的通信标准
- SOA去中心化演进方向【微服务】
- 单机:所有功能都在一个进程里,并部署在一台机器上
- 问题
- 数据一致性
- 高可用 服务间合作
- 治理 容灾
- 解耦 vs 过微 成本高
企业级后端架构
- 云计算
-
- 云原生
- 定义
- 组织公有云,自由云,混合云等新型的动态环境中,构建和运行可拓展的应用的技术集合
- 相关技术
- 弹性资源
- 虚拟化容器,不需要关注硬件
- 快速扩缩容
- 便于沟通
- 类型
- 计算资源
- 服务资源调度
- 微服务
- 大服务:长时间占用
- 计算资源调度
- 在线:榜单
- 离线:榜单更新
- 消息队列
- 服务资源调度
- 存储资源
- 经典
- 对象存储
- 大数据:相关信息记录
- 关系型数据库
- 元数据
- NoSql
- 经典
- 计算资源
- devOps
- 软件开发??
- 敏捷开发
- CI/CD
- 服务网格
- 是微服务之间通讯的中间层
- 服务与网络通信解耦合
- 异构系统的治理统一化 py,java,go...
- 复杂治理能力
- 微服务架构
- 通信标准
- HTTP
- RPC //微服务中间件
- 通信标准
- 弹性资源
- 定义
标题:架构定义解析 - 掘金