The "Clustered Remoting For Spring Framework" (or Cluster4Spring) is alternative implementation of remoting subsystem included into Spring framework.
While implementation of remoting in Spring is great, it has several limitations that are quite important and must be taken into consideration when building large enterprise-level distributed system.
Briefly, these limitations relate to the point-to-point model of remoting supported by Spring - generally speaking, the client may use only one instance of remote service. It is obvious that having only such a scheme of remoting, it is hard to develop fault-tolerant systems and implement some kinds of load balancing.
Another feature, which is currently missing in remoting subsystem offered by Spring framework, is lack of the ability to dynamically discover remote services.
The main purpose of Cluster4Spring is to extend remoting system of Spring framework and overcome limitations mentioned above.
Currently (in version 0.85), the scope of Cluster4Spring includes only remoting related issues and does not include any functionality that can be used for data replication between various instances of server. However, it is possible that such functionality will be added later, if necessary.
Cluster4Spring is Open Source project. It is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Apache Software Foundation site.
(Cluster4Spring) represents a replacement of the remoting subsystem of Spring framework and provides possibilities to build more stable and fault tolerant systems with dynamic discovering of remote services.
Briefly, the major features of Cluster4Spring library are:
Current version of Cluster4Spring includes core logic that is agnostic to actual remoting protocol and implementation of remoting via RMI. However, it is planned that later version of Cluster4Spring will include support of additional remoting protocols.