谈ESB服务总线改进

标签: IT咨询 | 发表时间:2015-08-01 17:22 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
对于消息中间件部分进行单独剥离,即讲服务设计和ESB协议转换和适配部分同消息中间件分离,对于消息中间件部分初步考虑采用RabbitMQ或zeroMQ来实现,其中zeroMQ由于用c语言实现,相当来说更加轻量和高性能。但是RabbitMQ本身更适合做一个企业级的消息系统,其在集群,持久化,高可用性和分布式可扩展性方面往往更加有优势。相当来说RabbitMQ往往是更好的选择。

对于消息中间件的使用,主要需要实现几个方面的内容,一个是传统MQ的基本功能,即基于消息的异步通讯机制,其次是实现消息发布订阅模式,最后是一个重要功能,即用做ESB内部的消息存储和异步日志记录,通过MQ的异步功能对于日志进行异步持久化以实现ESB层本身的高性能,而不会影响到服务本身调用性能。

对于数据库可以看到,主要是包括两个方面的内容,其一是对于服务元数据管理部分的内容,其二是对于服务运行实例的持久化内容。其中可以看到对于服务运行实例完全可以采用独立的分布式数据库来存储,由于这种实例运行记录本身就类似key-value的存储模式,因此可以考虑采用mongoDB或redis库来实现这部分数据的存储,个人对于这块倾向于选择redis库来实现即可。

对于服务总线的管控和治理平台建议是和ESB服务总线进行分离,管控平台部分的核心功能主要还是服务元数据管理,服务目录库,服务运行监控分析,服务安全和访问控制,服务全生命周期管理等基础内容。管控平台数据库可以用结构化的数据库,数据库本身不会有太大的性能瓶颈。

对于服务设计部份可以引入可视化的服务设计和服务组合,其中核心主要是实现适配器,数据映射转换,日志和异常管理,安全管理,外部接口调用,路由,消息发布订阅等基础设计能力。对于适配器是一个核心基础功能组件,主要需要实现对数据库,SOAP和rest WebService的接入,HTTP服务的接入,JMS消息的适配,FTP文件的适配等基础功能。同时在适配处理过程中实现大数据和大文件传送组件的集成。

进一步加强服务监控和预警功能,包括对详细SLA服务等级和策略的订阅,对预警策略的定义,能够实现准实时的服务监控和预警。同时在服务视图静态展现上增加服务预警和调用异常的动态实时展示,以帮助管理员更加实时的发现服务运行中的异常。同时增加对ESB服务总线集群的管理功能,其中包括对集群各个节点的监控,对服务部署实现集群化的动态部署,包括服务的热部署能力支持。以提升ESB平台本身的高可用性和可伸缩性。

可以参考Dubbo服务框架的实现模式,在服务目录库中引入两种服务接入方式,即一种是由ESB来实现服务代理,同时实现服务数据传输映射和运行日志审计;对于其它大数据调用服务为了提升技能,则服务目录中心仅仅是返回可使用的服务调用地址,由服务消费方和提供方进行直接的消息传输通讯。通过两种方式的结合可以更好的兼顾ESB总线的常规能力同时又提升服务总线的性能。

可以考虑通过本地SDK开发包的引入,进一步来简化服务提供和消费端的代码开发,该模式下虽然整个服务开发和消费过程更加简单,但是本身对业务系统有一定的侵入性,因此也需要慎重采用。

进一步加强对服务流量控制功能的设计和开发,即根据SLA服务策略可以更加详细的定义服务流量控制策略,包括服务在单位时间的调用次数,服务传送的数据量,同时也包括对于任何一次调用服务本身的数据量控制和预警等,通过服务流量控制一方面是减轻下游接收系统的系统压力,一方面也可以更好的屏蔽和发现各种非法调用。

可以考虑进一步加强对服务运行日志记录的分析,通过服务运行数据的采集和转换,结合前期总体的业务系统集成架构蓝图规划。可以通过服务消费记录更好的欢迎业务系统间业务系统的情况,这个一方面可以利用来实现业务单据的跨系统传递监控,同时也可以更好的用来实现后续规划的端到端流程监控上。

  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [esb 服务 总线] 推荐:

谈ESB服务总线改进

- - 人月神话的BLOG
对于消息中间件部分进行单独剥离,即讲服务设计和ESB协议转换和适配部分同消息中间件分离,对于消息中间件部分初步考虑采用RabbitMQ或zeroMQ来实现,其中zeroMQ由于用c语言实现,相当来说更加轻量和高性能. 但是RabbitMQ本身更适合做一个企业级的消息系统,其在集群,持久化,高可用性和分布式可扩展性方面往往更加有优势.

ESB总线和能力开放平台

- - 人月神话的BLOG
上图是ESB企业服务总线和互联网Open API能力开放平台的一个简单对比. 对于在企业内部的服务集成和管控,由于需要面对企业内复杂的业务系统间集成和遗留系统适配,因此使用较多的仍然是ESB企业服务总线. 而对于互联网应用,更多考虑的是轻量和高性能,已经开发和接入的效率,当前使用较多的是类似Open API方式下的能力开放平台.

再谈SOA和ESB总线平台价值

- - 人月神话的BLOG
关于SOA的咨询实施方法论,SOA平台和云平台的融合,SOA咨询方法论和EA企业架构思想的融合在前面很多文章都有谈到. 在多年的SOA咨询和实施中,经常遇到的一个问题就是SOA是不是已经过时了. 而这个问题追溯本源还是客户没有真正理解SOA咨询方法论,SOA组件化架构带来的好处,而是把SOA或ESB理解为了一个简单的接口平台或数据交换平台,如果一开始的思维方式或规划就是错误或偏差的,那么最终效果自然大打折扣.

文章: Mule ESB 3.3与CloudHub

- - InfoQ cn
MuleSoft最近发布了企业服务总线(ESB)产品Mule ESB 3.3. 在新版本中,除了应用程序集成之外,Mule ESB还拥有了数据集成功能;从而为开发者提供了一个面向本地或云端应用的集成解决方案. 分享云计算在传统IDC、移动互联网、SaaS应用、PaaS平台等领域应用,阿里云开发者大会,免费报名中.

[SOA] Mule ESB Linux 部署

- - CSDN博客架构设计推荐文章
本文介绍如何在 Linux 上部署 Mule ESB. Mule 是一个以Java为核心的轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的. Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑.

集成ESB实现SOA

- - 企业架构 - ITeye博客
  服务消费者,服务提供者, 服务注册中心(UDDI模型). 由于UDDI模型过于复杂,而服务提供者与消费者点对点的进行协作依赖性大大增强,因此产生演变.    服务代理 -- ESB.    基于ESB总线,使得服务请求者统一入口,而ESB管理服务,使得耦合降低,由ESB来应对提供者提供的服务的改变而服务请求者不需要进行任何的修改.

开源ESB-Talend产品研究

- - 人月神话的BLOG
对于ETL部分要注意,当前用的更多的是ELT,其最大的差别就在于首先是将源数据库中的数据抽取到目标数据库中,然后再在目标数据库中进行相应的数据映射和转换等操作,刚方法比传统的ELT在性能方面有明显的优势. 在Oracle ODI产品里面当前即用的ELT方式,在Talend产品里面可以看到这部分也是通过ELT方式来实现,但是在ESB产品里面可以看到,对于ELT方式的数据集成提供的相应组件并不多,要实现负责的数据转换和处理往往并不容易.

谈轻量服务总线

- - 人月神话的BLOG
上次谈数据集中化和拆分的时候谈到了轻量总线的问题,在这里再对轻量总线的思考做一个简单的说明. 首先来看下对于一个ESB总线本身的模型简化,如下图:. 在这种ESB总线模式下,通过inbound 和 outbound pipeline会做大量的的工作. 包括访问控制,流程控制,协议转换和适配,日志logging等.

使用Mule Studio开发ESB应用 - Hello World

- - CSDN博客推荐文章
本文介绍如何使用Mule Studio开发一个简单的"Hello World"ESB应用. 第1步 - 下载和安装Mule Studio. 从 www.mulesoft.org下载Mule ESB Community Edition的发布包. 无需安装, 解压至本地硬盘即可使用. 第2步 - 启动Mule Studio.