`

企业数据总线(ESB)和注册服务管理(dubbo)的区别

 
阅读更多

一、概述

1、什么是ESB

就是企业数据总线的意思,他的核心功能就是兼容各种协议接口,可以将数据在各种协议之间进行流转,并且可以针对数据格式进行编排转换。(格式转换、协议转换、代理、编排、安全控制、监控、不支持高并发,类似于路由器维护着一张路由表进行路由转发)

代表性的项目有:JBOSS ESB,Mule,Camel 以及一些其他的esb项目

 

2、什么是服务注册

就是将所有的服务接口(很多时候是hession协议的接口),注册到一个中心的分布式服务集群上(你可以考虑成apache的zookeeper服务实现的效果)。各个业务系统直接访问分布式服务查找需要调用的接口位置,进而调用。(注册目录服务、监控、负载均衡、安全控制、分布式强健壮、适用于高并发)

代表性开源项目有:阿里的dubbo,淘宝的HSF(现在不知道是否继续开源了)

 

二、双方特点

1、ESB

ESB一般采用集中式转发请求,适合大量异构系统集成,并且压力不大的情况

 

但集中式转发也是有优势的,比如调用方用http协议,提供方用rmi协议,转发就可以转换协议,对双方都透明。另外,在总线上还可以执行流程引擎,做服务编排,比如A和B两个服务经常一起调,就可以编排成服务C,而不用再单独启一个服务去做。还有,安全,流控,做起来也更方便。

支持groovy类型的脚本语言,在总线上可以给数据格式做转换

2、服务注册管理

采用的是分布式调用,注册中心只记录地址信息,然后直连调用,适合并发及压力比较大的情况。

对于网站应用,大多是垂直业务,直接从数据库拉数据展示。

 

三、应用场景

1、ESB

esb最常见的场景是,把系统里的集成逻辑,单拉出来, 放到esb容器里来部署,并跟应用系统适配。 这样让应用系统变得只有自己的业务逻辑,简单、轻薄。

劣势:在所有的服务上增加了一个总线作为沟通的渠道。对于较大的并发量会将瓶颈推到ESB总线上。很多时候ESB总线都采用MQ类的消息服务器来异步处理缓解压力

2、服务注册

淘宝和阿里的各个业务系统提供了很多的接口,这个时候需要统一管理提供个各子业务系统使用,让各个子业务系统可以通过注册中心很快找到对应的服务

劣势:服务编排和协议转换还是靠各个业务子系统了

 

四、综述

1、两类开源项目侧重点不同,ESB侧重任务的编排,性能问题可通过异构的方式来进行规避。无法支持特别大的并发

2、服务注册侧重服务的治理,将各个服务颗粒化,各个子业务系统在程序逻辑上完成业务的编排。但是比较实用较大的并发量,因为dubbo类的只是存放服务地址。有zookeeper类的分布式通讯框架,能保证单点的失败不影响整个系统的业务调用,因为业务接口都是在各个提供服务的子系统中

分享到:
评论

相关推荐

    dubbo基础PPT

    SOA常用的技术包括 ESB(企业服务总线)、WS-*(如WS-Security、WS-ReliableMessaging等)。 **微服务架构** 是一种新兴的架构风格,强调将应用程序构建为一组小型、独立的服务,每个服务都围绕着特定的业务能力...

    微服务原理与dubbo实践

    SOA架构通过引入服务总线(ESB)来实现服务间的解耦,提高了系统的可扩展性和复用性。然而,服务总线也带来了新的问题,如性能瓶颈、运维复杂等。 在此基础上,**微服务架构**应运而生,它强调将大型应用程序拆分...

    微服务架构介绍.docx

    Spring Cloud是微服务架构的一个重要实现框架,它提供了一系列工具和服务,如Eureka(服务注册与发现)、Config(配置中心)、Hystrix(断路器)和Zuul(API网关)。这些组件共同构成了微服务架构的基础,帮助开发者...

    智慧校园技术路线.pdf

    企业服务总线(ESB)作为核心组件,实现服务之间的通信和流程管理。 1.1.3 SOA技术标准 SOA的技术标准主要包括SCA和SDO。SCA定义了服务组件的构建和交互方式,而SDO则规定了服务间数据的接口和处理方法。通过WSDL...

    (完整版)智慧校园技术路线.pdf

    基于开放标准采用的相关技术有可扩展标记语言XML、简单对象访问协议SOAP、Web服务描述语言WSDL、统一描述、发现和集成UDDI、JAVA消息服务JMS、企业服务总线ESB等。 1.1.4 开发平台 智慧校园技术路线的开发平台基于...

    微服务技术架构体系的深度治理.docx

    - **企业级SOA阶段**:随着系统间的整合需求,SOA(面向服务的架构)出现,引入了ESB(企业服务总线)和一系列标准,如SCA、SDO、WebService等,同时提出了服务治理的概念,但IBM的SGMM标准过于复杂,难以广泛应用...

    智慧校园技术路线.docx

    智慧校园技术路线 ...* 原子效劳层:抽象的公共原子效劳,可在多个系统间共享,采用Dubbo/OSGI的方式对效劳进展管理和使用 * 数据访问层:负责数据库数据的读写,采用Mybatis技术实现数据访问层功能。

    谈谈微服务架构和开源.pdf

    在提到的文档中,作者首先强调了微服务架构相较于传统的SOA的优势,传统的SOA常常使用ESB(企业服务总线)或者Webservice这类重量级解决方案,而微服务则推崇使用更轻的解决方案,例如通过Restful架构走HTTP通道并...

    微服务治理框架的技术选型.docx

    41. Netflix OSSNetflix OSS 是一套完整的微服务治理方案,包含多个组件,如 Eureka(服务注册与发现)、Zuul(API 网关)、Hystrix(容错管理)、Ribbon(客户端负载均衡)等。这套框架在大型互联网公司中被广泛...

    SpringCloud我服务基础教程

    - **SOA架构**更侧重于企业级应用,采用ESB服务总线,需要序列化和反序列化,通常使用XML格式传输。 - **微服务架构**则更加轻量级,适用于互联网公司,倾向于使用JSON或其他轻量级格式进行数据交换,减少通信开销...

    分布式Java应用 完整版 PDF

    内容包括ESB(企业服务总线)的使用、Web服务(SOAP和RESTful)的开发、服务注册与发现、服务治理以及服务组合。通过这一部分的学习,读者能够掌握构建大规模、松耦合的分布式应用的方法。 第四部分:编写高性能...

    spring cloud快速入门.docx

    微服务采用中心化思想,微服务之间使用统一restful等轻量级协议进行传输,相比ESB企业服务总线更轻量级。微服务架构更适用于互联网项目的迭代开发。 Spring Cloud是一站式微服务架构的解决方案,Spring Cloud是若干...

    SpringCloud微服务笔记

    而 SOA 常常涉及复杂的 ESB(企业服务总线)。 - **粒度**:微服务通常更细粒度,每个服务只关注一个具体的业务功能;SOA 服务粒度相对较大。 - **开发模式**:微服务更适合敏捷开发模式,可以快速迭代;SOA 更...

    什么是中台架构?

    例如,Dubbo和Spring Cloud都是常见的微服务框架,它们提供了服务注册、发现、负载均衡等功能,帮助企业构建微服务体系。 然而,微服务架构的实施并非易事,涉及到技术选型、业务拆分、高可用性、服务治理等多个...

Global site tag (gtag.js) - Google Analytics