Towards a Self-Adaptive Middleware for Building Reliable Publish/Subscribe Systems
Traditional publish/subscribe (pub/sub) systems may fail or cause longer message latency and higher computing resource usage in the presence of changes in the execution environment. We present the design and implementation of Mimosa Pudica, an adaptive and reliable middleware for adapting various changes in pub/sub systems. At the heart of Mimosa Pudica are two design ideas. First, the brokers can elect leaders to manage the network topology in a distributed manner. Second, software components can be relocated among brokers according to the user’s pre-defined rules. Through these two mechanisms, brokers can be connected in a self-adaptive manner to cope with failures and guarantee delivery of messages. In addition, brokers can effectively utilize their computing resources. Our experimental results of a large-scale pub/sub system show that in the presence of environmental changes, each self-adaptive process generates as few as 30 ms extra latency.