Photo by Sincerely Media on Unsplash
web
ESB:企业服务总线。spring
ESB的概念是SOA(面向服务体系架构)的伴生物,是对多类系统的服务调用者、提供者的解耦。微信
ESB能够作服务暴露、服务接入、协议转换(webservice、JMS、T3等)、数据格式转换(JSON/XML)、路由等方面的支持。架构
我以前的公司是ESB打天下,不过当年表明先进结构的经验如今也慢慢被微服务这种愈来愈火的理念与工具而替代。app
那ESB跟如今的所谓微服务如Dubbo、spring cloud又有什么区别呢?负载均衡
微服务框架诞生的初衷更多的是一种点对点的模型,而ESB则是总线管理。框架
微服务框架基本上是面向同构的系统,如今多统一为RESTful风格接口,而ESB则要考虑不一样厂商(协议及数据格式转换)所提供的服务整合。分布式
ESB在互联网行业渐渐被Dubbo、spring cloud代替,可是在传统软件行业仍是一直坚挺,并吸取了一些微服务的概念,在不断演化。微服务
而如今微服务框架也在慢慢地变成ESB的模样了。由于点对点这种方式太很差管理了。工具
所谓ESB到微服务,其实就是软件开发中集中式系统向分布式系统的一种转变。
它们作的事情其实没有根本上的区别,只有场景的不一样。
在微服务框架设计实现以后,咱们还须要作服务治理。
例如路由管理、限流降级、服务监控、服务统计查询、服务认证受权、线程管理、协议转换、负载均衡等等等等。
其中部份内容是与ESB的功能极其类似。
咱们有时候把这部分工做也单独创建一个系统,如API Gateway。
而这又是一种螺旋式的上升了。
果真是天下之事,合久必分,分久必合。
本文分享自微信公众号 - 架构师之殇(ysistrue)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。