定义:
将不同的组件分布在不同的服务器上,给用户提供以个可靠,统一的服务。
分布式系统的基本原则:
- C一致性
- A 可用性
- P 分区容错性
实现一致性:
- 强一致性
- 弱一致性
- 最终一致性
BASE理论
Basically Available(基本可用),Soft state(软状态) 和 Eventually consistent (最终一致性)
相当于CAP 原则中的一致性和可用性的权衡结果
几种分布式系统
- 多数据源
- 多服务
- SOA
-
微服务架构
分布式系统需要考虑的问题
- 服务分拆
- 数据分拆
- 计算拆分
- 服务状态以及异常处理
微服务架构的组成
- 服务发现与注册
- 服务网关与负载均衡
- 监控与熔断机制
-
配置,消息等
微服务架构组成
- 服务
- 服务注册中心
- 网关
- 服务间调用协议
Spring Cloud 微服务架构
- Spring Cloud Netflix 微服务架构
- Spring Cloud Config 配置服务器
- Spring Cloud Bus 事件总栈
Spring Cloud Netflix 微服务架构
- 服务注册中心 :Eureka
- 网关: ZUUL
- 声明式Rest调用接口:Feign Client
- 负载均衡:Ribbon
- 监控,熔断组件: Hystrix 与 Hystrix Dashboard
Spring Cloud Config 配置服务器
- 配置:文件夹,Git ,SVN,DB
- 配置服务器
- 服务-> 配置服务器-> 配置
- 配置加密