一、概述

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类的分布式通讯框架,能保证单点的失败不影响整个系统的业务调用,因为业务接口都是在各个提供服务的子系统中

最新文章

  1. Codeforces Round #222 (Div. 1) D. Developing Game 线段树有效区间合并
  2. jQuery源码:从原理到实战
  3. Hessian 二进制RPC协议框架
  4. 【翻译】Kinect v2程序设计(C++) Color篇
  5. 社保系列11《ATR》
  6. SPA examples
  7. DailyWallpaper v1.02 released
  8. 【转】Win7+Ubuntu12.04.1硬盘安装错误及解决方案----不错
  9. javascript 给关键字加链接
  10. UVA1366-----Martian Mining------DP
  11. Java数据库连接泄漏应对办法-基于Weblogic服务器
  12. poj-3185-开关问题
  13. [JCIP笔记](五)JDK并发包
  14. svn 迁移至git操作手册
  15. c/c++ 网络编程 使用getaddrinfo的单纯UDP 通信
  16. 《nginx - 基本操作/配置》
  17. 【Java】 剑指offer(48) 最长不含重复字符的子字符串
  18. MUI class="mui-switch" 开关 默认为选中
  19. zabbix agentd安装
  20. property相关参数介绍

热门文章

  1. CodeForces717C 【数学】
  2. TFS 无法找到新加的Windows用户
  3. [Xcode 实际操作]九、实用进阶-(9)陀螺仪设备的使用
  4. java数据结构----哈希表
  5. Linux —— 常用命令集合
  6. python __new__ __init__ 区别
  7. 轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https
  8. 03.Javascript——入门一些方法记录之Map和Set
  9. android开发学习 ------- android studio 同时用svn和git 进行代码管理 出现的问题
  10. leetcode378 Kth Smallest Element in a Sorted Matrix