使用一年ESB感受
ESB(Enterprise service bus)-----企业服务总线的简写。
目前使用的是openESB,Sun公司的开源社区提供的,集成在netbean中,使用glassFish服务器。
先来说一下我自己对ESB的认知:我更喜欢把ESB从webservice的角度去理解,webservice是使用SOAP、XML、UUID、WSDL相结合的方式来解决不同应用间通信的,属于一种系统与系统直接的直接关联,而ESB则可以看作一个中转站,用于接收上一层发送的信息,然后处理并转发到下一层。而这样做的好处是: 若多个系统间通讯时,使用传统的webservice,将可能会出现如下情况。

而是用ESB的方式,则会更加的清晰:

并且,由于两个系统之间不需要直接进行交互,也避免了因为两个系统之间的接口不一致而需要在两个系统之中进行协调的尴尬,在ESB中A系统传输的内容可以和B系统所接收的内容形式上不一致,但可以通过ESB中间的逻辑进行修改赋值,这样一来两个系统只需要关注自身的业务和暴露的接口就可以了,而不用去考虑接收信息或发送信息的系统。
今天出去面试了,面试的公司做的开发也有ESB部分,他们的ESB部分是自己开发的,我跟愿意称之为EAI(Enterprise Application Integration)企业应用集成。他们分为外网和内网两个模块,内网使用的是xml的webservice方式实现,而外网的访问则是通过他们自己开发的ESB部分进行分发,在这里ESB部分还包括了防火墙的作用。
在OpenESB中,可以方便的使用格式转换、协议转换、代理、编排、安全控制、监控、不支持高并发,类似于路由器维护着一张路由表进行路由转发,其中的编排可以理解为服务编排:原本A、B、C三个服务,A调用B,而B需要C中的东西,则会形成一个A-->B-->C的访问串,而在ESB中则不会形成串。
阿里的dubbo,使用的是服务注册的方式,注册中心即dubbo内部只保存了接口的地址,A应用通过dubbo获得地址信息进行直接访问,其优点是适用于压力较大的系统,但不利于服务编排和协议转换,这两方面还是需要各个业务系统各自实现。
ESB和dubbo两者之间的侧重不同,前者更注重于服务编排,并且内部使用的是xml的形式,所以效率不高,不利于高并发,而后者注重服务的治理,提高服务之间访问的效率,而服务的编排则需要服务自身实现。
这是我找到的一篇介绍ESB和dubbo的博客。
使用一年ESB感受的更多相关文章
- 准备PPT过程中的一些文档记录
http://jm.taobao.org/2016/12/23/20161223/ https://www.csdn.net/article/2015-02-10/2823900 https://da ...
- 【初码干货】【Azure系列】1、再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET
上个月末,在某人的建议下,重新注册了一个1元试用账户(包含1个月期限的1500元订阅),并充值了1000元转为了正式账户,相当于1000元得到了2500的订阅,于是又一次开启了Azure之旅. 在这不 ...
- 分享我对 ASP.NET vNext 的一些感受,也许多年回过头看 So Easy!
写在前面 阅读目录: Visual Studio "14" CTP 关于 ASP.NET vNext ASP.NET vNext 实践 后记 ASP.NET vNext 发布已经过 ...
- AEAI ESB培训大纲
1. 概述 本文档的目的是为了让使用者能更好的操作.维护.服务于整个ESB系统平台,该信息系统平台不仅需要成熟稳定的产品,更需要技术熟练的运行维护人员,以便能更好地进行科学有效的运行维护工作. AEA ...
- AEAI ESB路由转换机制说明
1. 背景概述 相信了解数通畅联的人对AEAI ESB并不陌生,其设计器ESBDesigner中内置组件有:路由和转换.数据适配器.协议适配器.协议接入适配器等4类组件,每类组件下面包含各种类型的组件 ...
- "传成老树白茶"献礼母亲节 邀市民品茗感受茶文化
5月8日下午,传成老树白茶巡回中国公益品鉴会第七十站,走进福州马尾区东方名城传成老树白茶文化馆. 本次品鉴会活动以“感恩母亲节”为主题,以马尾船政文化为背景,邀福州市民一起品鉴白茶,感受中国茶文化. ...
- 企业 SOA 设计(1)–ESB 设计
最近为公司完成了一个 ESB 的设计.下面简要说明一下具体的设计方案. 企业 SOA 整体方案 在前一篇<SOA.ESB.NServiceBus.云计算 总结>中说到,SOA 是面向服 ...
- SOA、ESB、NServiceBus、云计算 总结
SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统.与此同时,SOA 还实现了整合资源,资源复用. SO ...
- C# 项目提交过程中感受
C# 项目提交过程中感受 新到一家互联网公司,昨天第一次提交代码,遇到了不少问题,而且大多数是代码格式问题,特此将范的错误记录下来,自我警示. 1. 代码对齐,这个虽然一直也都在注意,不过还是有一行代 ...
随机推荐
- 主要的Ajax框架都有什么?
* Dojo(dojotoolkit.org):* Prototype和Scriptaculous (www.prototypejs.org和script.aculo.us):* Direct We ...
- 虚方法(virtual)和抽象方法(abstract)的和接口(interface)的区别
虚方法(virtual)和抽象方法(abstract)的区别 2017年06月15日 13:41:26 阅读数:65 注:本文转载自 http://www.cnblogs.com/michaelxu/ ...
- Codeforces Round #555 (Div. 3) E. Minimum Array
题意:b数组可以自由排序,c[i]=(a[i]+b[i])%n. 题目中要求c数组的字典序是最小的.那么我们需要尽量满足前面的c[i],才能使字典序最小. 我们知道a[i]和b[i]都是[0,n-1] ...
- vue+betterscrool实现横向弹性滚动
如何利用better-scroll在vue中实现横向滚动,并且滚动到两端以后会有弹性效果 1.使用npm下载better-scroll 2.按需引入better-scroll 3.需要2个盒子装起来组 ...
- struts2参数传递总结
需求1:登录页面填写表单,提交后进入action,action中能够获取填入的内容.[宏观分类:页面->action] 需求2:登录action从数据库校验完毕后,跳转至主页,主页显示当前登录的 ...
- JavaScriptDOM
DOM简介 1.HTML DOM:网页被加载时,浏览器会创建文档对象模型 2.DOM操作HTML:改变HTML的元素.属性.CSS样式.对所有事件作出反应 DOM操作HTML 1.改变HTML输出流 ...
- POJ 1067 威佐夫博弈
点这里去看题 套公式,判断是否为奇异组合 #include<stdio.h> #include<algorithm> #include<math.h> #inclu ...
- 分析Ajax抓取今日头条街拍美图
spider.py # -*- coding:utf-8 -*- from urllib import urlencode import requests from requests.exceptio ...
- [ 10.4 ]CF每日一题系列—— 486C
Description: 给你一个指针,可以左右移动,指向的小写字母可以,改变,但都是有花费的a - b 和 a - z花费1,指针移动也要花费,一个单位花费1,问你把当前字符串变成回文串的最小化费是 ...
- jQuery获取父级、兄弟节点的方法
一.jQuery的父节点查找方法 $(selector).parent(selector):获取父节点 $(selector).parentNode:以node[]的形式存放父节点,如果没有父节点,则 ...