- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种ESB消息处理能力测试方法设计与实现
一种ESB消息处理能力测试方法设计与实现 ESB(Enterprise Service Bus,即企业服务总线)平台的通用服务总线是实现通信、互连、转换以及一系列接口的基础软件设施。本文对当前ESB消息处理能力面临的问题及相关对策进行了探讨。还介绍了一种新的ESB消息处理能力测试方法的设计与实现来解决这一问题。 【关键词】ESB 消息处理 性能测试 为了实现内部业务系统和外部业务服务请求的隔离,保证信息安全和消息服务的整合,很多企业采用了企业服务总线(ESB)这一种消息集成的软件架构。ESB可消除不同应用间的技术差异,让不同的应用服务协调运作,实现不同服务间的通信与整合。某些企业甚至使用ESB作为实时信息查询和实时数据交换的接口,这样对ESB的消息处理能力提出了更高要求。 1 面临的问题和对策 1.1 面临的问题 ESB的消息处理能力可以通过以下几个参数来体现:响应速率,用户连接速率和服务处理速率。响应速率指的是单个请求中从服务请求者开始发出请求到完全得到服务响应结果的速率。用户连接速率指用户通过与ESB进行认证、授权等链接操作后成功上线的速率。服务处理速率指的是单个服务请求在ESB中被处理完成的速率。 传统的测量平台处理能力的方法是在关键节点上记录时间戳,通过比较不同时上的时间戳来获取时间段。但是这种方法在获取ESB消息处理时间上并不能完全适用。因为ESB的用户链接和服务处理等操作在ESB软件中完成,无法记录关键节点时间戳。因此需要一种测试方法来获取ESB的响应速率、用户链接速率、服务处理速率等参数来反映出ESB的消息处理能力。 1.2 相关对策 分析上述问题,针对用户使用ESB作实时信息查询和实时数据交换接口,本文提供一种ESB消息处理能力的测试方法和系统能够非入侵、高效地测量ESB消息处理能力,让用户对ESB信息处理能力有评价标准,有助于用户选择合适的ESB来促进企业生产。 2 测试方法的设计与实现 2.1 测试流程 根据ESB的工作机制,本方法分四个步骤完成测试,其流程如下: (1)模拟ESB业务流程。 (2)建立与ESB业务流程对应的ESB服务访问脚本。 (3)模拟消息访问队列,消息访问队列中的各请求消息利用脚本按照业务流程对ESB进行服务请求,并记录关键时间节点上的时间戳。 (4)根据记录的各请求信息对应的时间戳确定测试结果。 2.2 具体实现 本小节结合上述的流程步骤,对每一步进行实现,为该方法作进一步阐述, 2.2.1 根据实际需要在此给出一种具体的实现方式,参见图1所示,其包括如下步骤: (1)步骤S1011:对ESB路由以及目标业务服务进行模拟;启动与模拟业务服务对应的业务服务器,则对应的模拟业务服务就可以被ESB访问和接入。 (2)步骤S1012:ESB接入模拟业务服务并配置业务操作生成代理服务;ESB将上步中得到的模拟业务服务通过路由方式接入并配置对请求进行转换、过滤、分发等的业务操作,最后生成外部访问ESB的入口代理服务。 (3)步骤S1013:将该代理服务发布出去,供外界请求调用,在保证数据安全的同时,又利于获取测试ESB消息处理能力所需要的相关信息。 2.2.2 上述建立ESB服务访问脚本具体可以包括如下步骤: (1)步骤S1021:根据外部访问接口,生成访问代理服务的ESB服务访问脚本;通过对1)生成的访问接口进行解析可以生成能够访问该ESB代理服务的脚本。 (2)步骤S1022:在ESB服务访问脚本中加入请求开始事务,在请求信息开始服务请求时生成与请求消息对应的全局唯一性标识(GUID),这样可以从每条包括请求消息的报文中获取的GUID以区分请求消息,将GUID与各时间戳绑定,就可以通过GUID区分不同的请求信息的时间戳。 2.2.3 消息访问队列对ESB进行服务请求可以采用如下方式 (1)步骤S1031:消息访问队列中的请求消息利用脚本按照业务流程对ESB进行服务请求,将请求消息进行服务请求的时间记为初始时间戳;请求消息一般是以消息报文的形式传输访问,消息访问队列中的请求消息一般以同步的方式传输访问,由于每个消息访问队列只有头消息Mhead有连接时间,为了进行区分,如果请求消息是Mhead,则GUID的值为:MH{GUID值};将GUID嵌入在消息报文中伴随请求消息进行消息传输;记录当前的时间记为初始时间戳Tstart与GUID值绑定。 (2)步骤S1032:将请求信息到达目标的时间记为到达时间戳;目标可以指代理服务或 ESB;记录到达时间戳为Treceived并将其和GUID值绑定。 (3)步骤S1033:将请求消息进行服务请求结束的时间记为结束时间戳Tend;记录结束时间
原创力文档


文档评论(0)