原始分布式时代
1、惠普公司 =》 网络运算架构(NCA) =》 远程服务调用的雏形
卡内基梅隆大学 =》 AFS文件系统 =》分布式文件系统的最早实现
麻省理工学院 =》 Kerberos协议 =》 服务认证和访问控制的基础性协议,
分布式服务安全性的重要支撑,目前仍被用于实现包括Windows和MacOS在内众多操作系统的登录、认证功能。
2、OSF(开放软件基金会) 发起制订=》 DCE(分布式运算环境)分布式技术体系
3、DCE 主要内容:
源自NCA的远程服务调用规范(RPC)
源自AFS的分布式文件系统(DFS)
源自Kerberos的服务认证规范
时间服务
命名与目录服务
UUID
单体系统时代
1、“单体”只是表明系统中主要的过程调用都是进程内调用,不涉及进程间通信,仅此而已。
2、单体系统的缺点:(对比微服务)
牵一发而动全身,难以阻断错误传播
不便于动态更新升级程序
难以技术异构
SOA时代
1、SOA是具体地、系统性地成功解决分布式服务主要问题的架构模式
2、三种架构模式:
烟囱式架构、微内核架构、事件驱动架构
3、SOA特点:
更具体、更系统。
也正是这些特点,使得过于严格的规范定义带来过度的复杂性,导致SOA没落。
微服务时代
1、微服务是一种通过多个小型服务组合来构建单个应用的架构风格,这些服务围绕业务能力而非特定的技术标准来构建。各个服务可以采用不同的编程语言,不同的数据存储技术,运行在不同的进程之中。服务采取轻量级的通信机制和自动化的部署机制实现通信与运维。
2、微服务的九个核心的业务与技术特征:
- 围绕业务能力构建
- 分散治理(技术异构)
- 通过服务来实现独立自治的组件
- 产品化思维(熟知软件研发全流程)
- 数据去中心化
- 强终端弱管道(RESTful风格的通信在微服务中会是更加合适的选择)
- 容错性设计
- 演进式设计
- 基础设施自动化(CI/CD)
3、对比SOA:
更加自由的架构风格,带来更多样的解决方案:
服务间远程调用问题解决方案:
RMI(Sun/Oracle)、Thirft(Facebook)、Dubbo(阿里巴巴)、gRPC(Google)、Motan2(新浪)、brpc(百度)、Finagle(Twitter)、Arvo(Hadoop)、JSON-RPC、REST等
服务发现问题解决方案:
Eureka(Netflix)、Consul(HashiCorp)、Nacos(阿里巴巴)、ZooKeeper(Apache)、Etc(CoreOS)、CoreDNS(CNCF)
后微服务时代
1、从软件层面独力应对微服务架构问题,发展到软、硬一体,合力应对架构问题的时代,此即为“后微服务时代”
2、关键词:虚拟化技术、容器化技术、Kubernetes、服务网格
无服务时代
1、如果说微服务架构是分布式系统这条路的极致,那无服务架构,也许就是“不分布式”的云端系统这条路的起点。
2、主要内容:后端设施(Backend)和函数(Function)