例如:MVC:分离数据处理,视图显示,业务逻辑
企业内部的IT系统重复建设且效率低下。
服务
所有业务功能都是一项服务,对外提供开放接口。例如上述各部门的人员管理就可以单独划分出一个服务,实现复用。【服务粒度的划分是关键】
ESB企业服务总线
屏蔽系统对外提供接口的方式,实现服务连接。
松耦合
减少服务的依赖和影响。
ESB问题和被背景
ESB功能强大,支持HTTP,RPC,JMS等多种协议和转换格式,但同时带来了大量资源消耗。
ESB的背景是在各种异构系统存在多年的情况下产生的,实属无奈之举。
1996 年,第一个SOA报告被发布
2014年, Martin Flower一篇关于微服务的学术性文章将微服务推向了高潮
从历史的角度看,微服务和SOA是有一定先后次序的,两者虽不相同,但也许有些渊源。
服务粒度
微服务比SOA更细
服务通信
SOA采用ESB总线,而微服务采用HTTP轻量级通信
服务交付
SOA慢,而微服务倡导持续交付,速度快
应用场景
SOA的ESB是针对已有大量异构系统的企业级设计的;而微服务更适合互联网公司。
SOA和微服务并不存在优劣之分,两者应用的场景应对的问题完全不一样,就像你不能用一颗糖的好坏衡量一块砖的价值。
联系客服