微服务:单单从字面意思上讲是小或细致、独立的、灵活的、具有一定功能的服务工具或程序。
通过一下规整笔记说明:
单应用体的现存问题:
- 复杂性高
- 技术累计长
- 部署频率低
- 可靠性能差
- 扩展功能受限
- 阻碍和时代技术接轨
微服务的特点:
- 独立运行
- 多服务构建完善系统
- 关注业务单一
- 通信之间单一
- 技术语言无门槛
- 自动部署机制
微服务架构的优点:
- 易于开发和维护
- 单个系统关注业务少,小而启动快
- 局部修改快速部署
- 技术不受限制
- 按照需求进行扩展和整理
微服务架构面临的挑战:
- 运维成本较高(包含硬件和软件)
- 分布式部署的复杂性
- 接口调整的成本比较
- 重复劳动
微服务的设计原则:
- 单一任务或责任原则
- 服务自治原则
- 轻量级通信原则(常用协议:REST、AMQP、STOMP、MQTT)
- 颗粒服务原则
关于部分名词解释:
- IaaS:基础设施即服务(Infrastucture-as-a-Service)
- Paas:平台即服务(Platfrom-as-a-Service)
- SaaS:软件即服务(Software-as-a-Service)
关于Spring Cloud的特点:
- 约定优于配置
- 适应各种环境
- 隐藏组件的复杂性
- 开箱即用,快速启动
- 轻量级组件
- 组件丰富,功能齐全
- 造型中立,丰富
- 灵活