[rules-users] drools grid or other high availability solution?

Mark Proctor mproctor at codehaus.org
Tue Nov 13 04:21:26 EST 2012


you can do this yourself.

-setup 1..n JVMs. 
-Each JVM creates a drools instance with the same rules
-Create an facade interface where external application insert/update/retract are actually operations on an infinispan replication group.
-Each JVM attaches an insert/update/delete listener to the infinispan client, the listener translates the infinispan event into a working memory action. This allows all JVM's in the group to operate in redundancy.
-Make sure that any rules that have external side effects - like calling services - have an "if master" check, as you don't want the slave JVM's doing any external side effects. However you will need to make sure any return information from that side effect is replicate to all JVMS in the group. Either ISPN already has heart group management for master/slave, or you can use the underlying jgroups to do it.

If someone gets this working, they should probably publish it on github as an example project.

Mark
On 12 Nov 2012, at 15:29, groovenarula <gnarula1 at la-z-boy.com> wrote:

> Follow up on high availability - 
> 
> I'm planning to use Drools for Capacity Management. In my use-case I need to
> track # of hours of planned capacity that has been consumed based on hours
> allocated. I'm planning on having a StatefulKnowledgeSession that will have
> facts that store the # of hours of capacity that are available for a given
> week. Then as work comes in (in the form of orders), it will be allocated
> against this capacity. Even though at a high level this seems to be a simple
> requirement, the process of allocating resources is very complicated and
> using rules and FOL would greatly help manage the complexity of the
> allocation process.
> 
> Based on the discussion above it looks like I won't be able to architect a
> solution that's highly available. I'm not concerned about performance (the
> drools engine is very efficient even on a single server). But it looks like
> it's not possible to share / replicate session state contained in a
> StatefulKnowledgeSession across separate JVMs (either on the same server or
> across 2 servers). 
> 
> Am I correct or am I missing something ?
> 
> 
> 
> --
> View this message in context: http://drools.46999.n3.nabble.com/rules-users-drools-grid-or-other-high-availability-solution-tp4020734p4020803.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users




More information about the rules-users mailing list