<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Edson will be working on building a clustered HA execution server during the spring and summer period. No details yet, he痴 just starting this now.<div><br></div><div>We値l be taking a slightly different approach. Master will run and produce a incremental journal of non-reproducable state changes; such as the state of the agenda. We値l replicate that journal log, along with user entity state changes to the slaves for replay.</div><div><br></div><div><blockquote type="cite"><div dir="ltr"><p class="MsoNormal">I知 certain that other nodes can be notified, if one of the nodes go down. So the question is, about the possibility to write/read the session to/from a cache, pick up with session and seamlessly resume the execution. Are there any practical approaches to store the working memory in a cache instead of just the VM memory?</p></div></blockquote></div><div><div>You can marshal a session to a byte[] and persist that, the down side is serialises the entire session every time. So it can be quite heavy, which is why are trying to work on a incremental journal approach instead.</div><div><br></div><div><br></div><div>Mark<br><div><div>On 3 Mar 2014, at 07:46, Chakravarthi Muppalla &lt;<a href="mailto:chakri143@gmail.com">chakri143@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><p class="MsoNormal">Hello All,</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">We are planning to user drools for our event driven business
rules execution. I知 designing this around the features available in Expert
engine, Fusion, Guvnor.</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">An overview of the system will look like this.</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="" style="">1.)<span style="font-size:7pt;font-family:'Times New Roman'">&nbsp; &nbsp; 1.)&nbsp;</span>We will have N application nodes with an
embedded drools engine. These nodes will be subscribed to the JMS(mostly
ActiveMQ) and a clustered cache.</p><p class="" style="">2.)<span style="font-size:7pt;font-family:'Times New Roman'">&nbsp; &nbsp; 2.)&nbsp;</span>All the customer activities will be pushed onto
the JMS. One of these N nodes will get the customer activity event. This node
will update the cache (customer related data cache) with this activity.</p><p class="" style="">3.)<span style="font-size:7pt;font-family:'Times New Roman'">&nbsp; &nbsp;3.) &nbsp;</span>As all the nodes are connected to the cache,
each one of them will get a call back about the cache entry. </p><p class="" style="">4.)<span style="font-size:7pt;font-family:'Times New Roman'">&nbsp; &nbsp; 4.)&nbsp;</span>If this is the first activity of the customer,
One of the nodes will act as a master to pick up this and insert this into the
stateful session痴 working memory. </p><p class="" style="">5.)<span style="font-size:7pt;font-family:'Times New Roman'">&nbsp; &nbsp; 5.)&nbsp;</span>Any further cache call backs related to this
user will be sent to this node. </p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">In case one of the nodes go down, I want one of the other
nodes to resume the execution of the affected customers.</p><p class="MsoNormal">To translate this into drools, I want one of the nodes to
pick up the session of the failed node. &nbsp;As
this is not available out of the box, I知 looking for possible approaches.</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">I知 thinking of writing the working memory contents to a
middle tier cache(possibly radis) backed by persistence(mysql). This cache will
write the data to the persistence either at certain intervals or on certain
events.</p><div>&nbsp;<br class="webkit-block-placeholder"></div><p class="MsoNormal">I知 certain that other nodes can be notified, if one of the
nodes go down. So the question is, about the possibility to write/read the
session to/from a cache, pick up with session and seamlessly resume the
execution. Are there any practical approaches to store the working memory in a
cache instead of just the VM memory?</p><div><br></div>-- <br>Cheers!<br>
</div>
_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/rules-users</blockquote></div><br></div></div></body></html>