为什么微服务,微服务为什么不需要esb

微服务的局限性在于,微服务因为服务量和管理成本的增加,很难以整体架构的形式支撑 。个人认为微服务更适合快速响应,比如 。如果两个或两个以上的微服务相互依赖,内容本身就有共性 。微服务的设计有一些难点,分为几个微服务 。迁移微服务实现单元时为什么会出现这种情况?
微服务为什么不需要esb?

为什么微服务,微服务为什么不需要esb


首先我个人不认为微服务不需要ESB 。两者是相互融合相互配合的,在不同的应用场景下发挥自身的优势,共同助力企业的发展 。并且在微服务快速兴起的现在,ESB本身也在不断完善调整,比如,数通畅联的AEAI ESB本身就支持微服务架构的开发,实现了跟微服务架构的融合 。其次微服务是近几年比较流行的新兴架构,更多的采用Restful接口而不是WebService,微服务类似于七巧板的组件,以小粒度为用户提供服务,用户可以根据自身的喜好自由组合配置服务组件,灵活的进行扩展 。
但是微服务的局限在于因为服务量增多,管理成本增加,微服务难以用整体架构的形式进行支撑,个人认为微服务更加适用于快速响应如APP,前后端分离架构,互联网模式交互 。ESB企业服务总线作为SOA中重要的承载物,可以说是企业信息的龙骨,通过ESB实现服务的消费者及提供者之间的联通与管理,实现服务的治理重组编排和代理等,可以有效的支撑企业级的信息化集成架构的落地 。
系统软件架构中,现在很流行微服务,那么使用微服务就一定好么?微服务有哪些缺点呢?
为什么微服务,微服务为什么不需要esb


下面简单回答下这个问题 。在回答这个问题前还是先回顾下微服务架构 。微服务架构概述微服务架构本质是单个业务系统彻底的组件化前端,逻辑层,数据库解耦,同时相互之间通过轻量的服务接口和协议进行协同 。这和很早就谈到的组件化架构思想是一致的,实现微服务架构后,你会看到没有传统业务系统的概念了,有的只是微服务模块或小应用 。
微服务架构最近又炒的相当活,很多人会说SOA过时了,ESB过时了,甚至还有人用微服务架构去彻底的否定SOA和ESB,这些都是相当危险的信号 。在我12,13年写企业私有云PaaS平台的一系列文章的时候,已经提出了业务能力组件化,组件服务化的微服务架构思想,但是实际应用实施效果并不太理想 。我们可以先看下从单体应用到微服务架构的变化图 。
把这个核心搞清楚后,再来看下网上找到的对微服务架构的一些定义和阐述微服务可以在自己的程序中运行,并通过轻量级设备与HTTP型API进行沟通 。关键在于该服务可以在自己的程序中运行 。通过这一点我们就可以将服务公开与微服务架构在现有系统中分布一个API区分开来 。在服务公开中,许多服务都可以被内部独立进程所限制 。
如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围 。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程 。微服务不需要像普通服务那样成为一种独立的功能或者独立的资源 。定义中称,微服务是需要与业务能力相匹配,这种说法完全正确 。不幸的是,仍然意味着,如果能力模型粒度的设计是错误的,那么,我们就必须付出很多代价 。
如果你阅读了Fowler的整篇文章,你会发现,其中的指导建议是非常实用的 。在决定将所有组件组合到一起时,开发人员需要非常确信这些组件都会有所改变,并且规模也会发生变化 。服务粒度越粗,就越难以符合规定原则 。服务粒度越细,就越能够灵活地降低变化和负载所带来的影响 。然而,利弊之间的权衡过程是非常复杂的,我们要在配置和资金模型的基础上考虑到基础设施的成本问题 。

推荐阅读