微服务
维基百科的定义
微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关(Language-Independent/Language agnostic) 的 API 集相互通信。
目前与微服务有关的平台/框架:Spring Cloud, Service Fabric,Linkerd,Envoy,Istio …
分布式系统与微服务
1、分布式系统定义
应用开发后随着业务量变大,单机计算存储不能满足要求后,部署时会像分布式架构转变
分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统
2、设计原则
CAP 原则
- 一致性(consistency):保持所有节点在同一个时刻具有相同的、逻辑一致的数据。
- 可用性(availability):保证每个请求不管成功还是失败都有响应。
- 分区容忍性(partition tolerance):系统中任何的信息丢失或者失败都不会影响系统的继续运作。
BASE 理论
即使分布式系统无法做到强一致性,也可以采用适当的方法达到最终一致性。
- BA(Basically