微服务
微服务架构是使用一套小服务来开发单个应用的方式或途径,每个服务基于单一业务能力构建,运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,并能够通过自动化部署机制来独立部署。这些服务可以使用不同编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理
通过用户或终端发送消息值到API Gatewat网关利用RESTful接口地址提供的服务进行服务调节进行从原来的步骤返回到用户或终端
API Gateway网关是一个服务器,是系统的唯一入口。网关提供RESTful/HTTP的方式访问服务。而服务端通过服务注册中心进行服务注册和管理
微服务的特点:
- 单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责
- 面向服务:面向服务是说每个服务要对外暴露服务接口API。并不关心服务的技术实现,做到与平台和语言无关,也不限定用什么技术实现,只要提供REST的接口
- 自治:自治是说服务建互相独立,互不干扰
- 团队独立:每个服务都是一个独立的开发团队
- 技术独立:因为是面向服务,提供REST接口。使用什么技术没有别人干涉
- 前后端分离:采用前后端分离开发,提供统一REST接口,后端不用再为PC,移动端开发不同接口
- 数据库分离:,每一个都使用自己的数据源
微服务和SOA比较
功能 | SOA | 微服务 |
---|---|---|
组件大小 | 大块业务逻辑 | 单独任务或小块业务逻辑 |
耦合 | 通常松耦合 | 总是松耦合 |
管理 | 着重中央管理 | 周中分散管理 |
目标 | 确保应用能够交互操作 | 易维护、易扩展、更轻量级的交互 |