SOA与微服务的区别

SOA与微服务的区别

SOA

SOA通常都是跟ESB结合在一块儿,会由以下几个平台组成html

  • SmartESB运行平台web

  • SmartMonitor监控平台浏览器

  • SmartGovernance服务治理平台安全

  • SmartIDE集成开发平台服务器

微服务

其强调业务系统完全的组件化和服务化。将原有的业务系统分割成若干个独立应用,而且单独开发、部署、使用ServiceAPI公开本身的服务微信

难点:

如何把握服务分割的粒度。服务粒度越粗,就越难以符合规定原则。服务粒度越细,就越可以灵活地下降变化和负载所带来的影响。并发

优势:

  • 当新增或者修改功能的时候,影响涉及面会变小,只要修改具体某一个服务就能够了运维

  • 每一个组件都是一个单独的服务与进程,对于并发,有很好的抗压性微服务

  • 容易进行功能的拓展组件化

  • 解耦

缺点:

  • 须要部署多台服务器,提高了运维工做时间

  • 客户端调用请求数增多

二者的关系

微服务中不存在ESB企业服务总线,因为微服务尽可能都是经过HTTP API的方式暴露出去的,所以这种服务管理平台不须要像传统企业内部的ESB服务总线这么重。可是最基本的服务注册,服务代理,服务发布,服务简单的路由,安全访问和受权,服务调用消息和日志记录这些功能仍是须要具有而SOA则存在。即便有了微服务仍是须要一个SOA服务管理平台来完成

关于Service API

微服务支持使用RPC、AMQP等协议公开服务,可是不是很推荐,其对浏览器和防火墙不是很友好,而且最好是内部使用。应用应该在防火墙外采用相似HTTP或者WEBSocket协议

关于API Gateway

痛点:

  1. 解决客户端页面请求数增多的问题

  2. 解决若是服务拓展或者合并痛苦问题

功能点:

API Gateway负责请求转发、合成和协议转换。全部来自客户端的请求都要先通过API Gateway,而后路由这些请求到对应的微服务。API Gateway将常常经过调用多个微服务来处理一个请求以及聚合多个服务的结果。它能够在web协议与内部使用的非Web友好型协议间进行转换,如 HTTP协议、WebSocket协议

要求:

支持多种格式的请求协议

支持同步、非阻塞I/O

微服务结构图:

参考文章:

微服务实战(二):使用API Gateway

企业服务总线

微服务与soa的区别

weixin

更多技术相关的和话题请关注公众微信号【APPZone】
私下交流请关注的新浪微博@迹_Jason

相关文章
相关标签/搜索