电商技术中企业数据总线ESB和注册服务管理的区别

1、概述数据库

一、什么是ESBapache

就是企业数据总线的意思,他的核心功能就是兼容各类协议接口,能够将数据在各类协议之间进行流转,而且能够针对数据格式进行编排转换. 异构系统,功能繁多,复杂安全

表明性的项目有:JBOSS ESB,Mule,Camel 以及一些其余的esb项目
服务器


二、什么是服务注册
并发

就是将全部的服务接口(不少时候是hession协议的接口),注册到一个中心的分布式服务集群上(你能够考虑成apache的zookeeper服务实现的效果)。各个业务系统直接访问分布式服务查找须要调用的接口位置,进而调用框架

表明性开源项目有:阿里的dubbo,淘宝的HSF(如今不知道是否继续开源了)
异步


2、双方特色分布式

一、ESB性能

ESB通常采用集中式转发请求,适合大量异构系统集成,而且压力不大的状况网站


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

支持groovy类型的脚本语言,在总线上能够给数据格式作转换

 

二、服务注册管理

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

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


3、应用场景

一、ESB

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

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

二、服务注册

淘宝和阿里的各个业务系统提供了不少的接口,这个时候须要统一管理提供个各子业务系统使用,让各个子业务系统能够经过注册中心很快找到对应的服务

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


4、综述

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

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