这是我参与「第五届青训营」笔记创作活动的第14天
架构
云计算:是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模数据分析和存储的基石。
-
基础:
- 虚拟化技术
- 编排方案
-
架构
- IaaS(Infrastructure as a Service) 云基础设施,对底层硬件资源池的抽象
- PaaS(Platform as a Service) 基于资源池抽象,对上层提供的弹性资源平台
- SaaS(Software as a Service) 基于弹性资源平台构建的云服务
- FaaS(Function as a Service) 更轻量级的函数服务。好比 LeetCode 等 OJ,刷题时只需要实现函数,不需要关注输入输出流
- PaaS和SaaS的区别:PaaS侧重开发者,SaaS侧重普通用户
云原生:实际是云原生(计算)的简称,它是云计算发展到现在的一种形态。
-
云原生四要素:
- 弹性资源:基于虚拟化技术,提供的可以快速扩缩容的能力。可以分为弹性计算资源和弹性存储资源两个方面。
- 微服务架构:微服务架构下,服务之间的通讯标准是基于协议而不是 ESB 的。
- DevOps:这是个组合词,Dev+Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上DevOps应该还包括测试,DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。
- 服务网格:不需要关注底层,只需关注自身的业务逻辑
-
元数据:元数据是指从信息资源中抽取出来的用于说明其特征、内容的结构化的数据(如题名,版本、出版数据、相关说明,包括检索点等),用于组织、描述、检索、保存、管理信息和知识资源。
-
如何在 HTTP 和 RPC 之间选择?
- 性能 - RPC 协议往往具备较好的压缩率,性能较高。如 Thrift, Protocol Buffers
- 服务治理 - RPC 中间件往往集成了丰富的服务治理能力。如 熔断、降级、超时等
- 可解释性 - HTTP 通信的协议往往首选 JSON,可解释性、可调试性更好