微服务架构(Microservices Architecture)是将系统拆分为多个应用服务。应用服务实现具体的业务功能,单独部署维护。应用服务之间通过轻量级通信框架进行,并且支持应用服务用不同技术或者平台实现。微服务架构是SOA架构设计思想另一种实现方式。SOA 是粗粒度,松耦合的服务架构,异构系统间的服务通讯。微服务是按业务边界做细粒度的拆分和部署。
单体架构-》微服务:
1. 从三层到mvc单体架构(特点:用户少并发少,并发增加),便于管理在一个项目中,但项目越来越大满足不了需求过于臃肿、不能拓展(有些模块需要进行扩展有些无需扩展)、资源不能分离。
2. 前端代码和后台得分离,将后台代码分布在多个服务器上,负载均衡,缓解并发压力。慢慢对于模块中不同的需求,某个模块需要更多的服务器有些或许对性能要求不高,从而产生了微服务化,将原有的业务拆成的工程, 部署,灵活扩展。微服务是以每一个组件(例如用户服务,商品服务)为单位进行部署,每个模块为一个模块进行部署,通过调用相关的接口来实现交互。
soa与eai
由原来通过socket通讯方式,只能在同一平台上进行通讯。基于中间系统,为了能满足跨平台的通讯,出现了webserver松耦合的通讯方式,数据通过xml传输
网关API则是一种服务,使用该服务就进行调用。