微服务是一种架构风格
SpringCloud是一套开发工具集,简化了分布式开发
定义
- 由一系列微小的服务组成
- 拥有独立的进程
- 每一个服务依据各自的业务进行开发
- 独立部署
- 分布式的管理
演进
AllInOne -> MVC -> RPC -> SOA
单体服务
优点
- 容易测试
- 容易部署
缺点
- 开发效率低
- 代码维护难
- 部署不灵活
- 扩展性不高
- 稳定性不高
分布式定义
- 多个自治的处理元素
- 不共享主内存
- 通过网络发送消息合作
CAP原则
- 一致性(Consistency)
- 可用性(Availability)
- 分区容错性(Partition tolerance)
基础框架/组件
- 注册中心
- 服务网关
- 后端通用服务(中间层服务Middle Tier Service)
- 前端服务(边缘服务Edge Service)