计算机应用 ›› 2010, Vol. 30 ›› Issue (06): 1638-1641.

• 软件过程技术与中文信息处理 • 上一篇    下一篇

SOA中一种基于负载均衡的服务查找请求路由算法

文俊浩1,宋鹏飞1,王静2   

  1. 1. 重庆大学
    2. 中国建筑科学研究院
  • 收稿日期:2009-12-29 修回日期:2010-03-31 发布日期:2010-06-01 出版日期:2010-06-01
  • 通讯作者: 王静
  • 基金资助:
    勘察设计企业信息化关键技术研究与应用

Request routing algorithm for service discovery based on load balancing in SOA

  • Received:2009-12-29 Revised:2010-03-31 Online:2010-06-01 Published:2010-06-01

摘要: 服务查找是面向服务架构(SOA)中一个非常重要的环节,但目前的服务查找算法一般并未考虑到服务查找节点间的负载均衡,在请求频繁条件下不能满足查找效率的要求。提出一种分布式的、综合考虑节点处理能力和网络延时、适用于SOA中分布式服务注册中心的服务查找请求路由算法HaFA。该算法利用负载度实现对服务节点计算能力的度量,解决了负载度均衡后任务仍可能分配到弱计算能力节点上的问题,提高了服务注册中心计算资源的利用率;利用节点负载波动率估量下一个离散时间点的负载度,解决了网络延时期间负载波动对实现均衡造成影响的问题。实验结果表明,HaFA在分布式服务查找中能有效提高系统吞吐率,缩短结果响应的平均等待时间。

关键词: 面向服务架构, 服务查找, 分布性, 负载均衡, 系统吞吐率

Abstract: Service discovery is a very important part in Service-Oriented Architecture (SOA). However, current service discovery algorithms do not take account of the load balancing of the service discovery nodes, so they can not meet the requirements of search efficiency in frequent requests. To solve this problem, a distributed request routing algorithm for service discovery named HaFA, considering the node capacity and network latency, was proposed for a distributed service registry center in SOA. This algorithm measured the node's computation power using the load on the node to solve the problem that the tasks may still be assigned to the node which has weak capacity after balancing of the load degree, and can improve the utilization of computation resources in the service registry center. It used the load fluctuation rate of the node to estimate the load degree of the next discrete-time point to solve the problem that the load fluctuation during the network delay has impact on the load balancing. The experimental results show that HaFA algorithm can effectively improve the system throughput in distributed service discovery and shorten the average waiting time for response.

Key words: SOA, Service Discovery, Distribution, Load Balancing, System Throughput