Advise on enterprize application + clustering

MisterX b.xavier at
Tue Aug 3 02:01:10 EDT 2004

This is getting interesting... A bit of everything to solve
your problem (x's famous howitzer approach). The last part
may be even more interesting than the first. Remember that
enterprise means also redundancy and zero-downtime ;)

Unfortunately there is some risks of lock ups if not done
carefully... But here are 3 things you could try:


In a three tiered cluster strategy, mentioned in a clustering
class I had recently, there were three actors

  client -> server1 -> server2

  client -> server2 is not possible because of the firewall.

  but server1 -> server2 is fine and client -> server1 is ok2

  if client cannot use sql but can use client1's ports,
  and assuming client1 and client2 can do the sql bit...

  then you need a port configurable client server networking

  in brief:
  RRclient -> RR on Server -> SQLserver

  between RRclient and RRserver you use whatever protocol (80!)
  Best is to have your client ask their network administrator
  to see what is allowed and for what purpose.

  If you saw the forms we have to fill in for these requests
  at my office you would scream!


For the clustering part now... For a redundant server...
  but you can have more than one server also...

  Run two instances of RR. Named RRServer1 and RRS2.
  Now only one application must work with the port communication
  at the time but you can imagine either that one is locked up,
  not responding, or working hard. It would be nice to have RR2
  take over the next client's server call...

  What you do, is create a temporary file called rr1alive where
  you write a frequent log - the frequency is the timeout for RR2
  to kick and start working.

  There's the case where the RR1alive file is locked by the RR1,
  which should be working but which should be closing the file.

  (is there a FileLocked(filepath) function in rr?)
  You can use the file's date from the extended files function to
  see the date anyway.

  So if there is a timeout trying to read that file, RR1 must be
  locked. Terminate the process RR1. Relaunch RR1 and give it the
  hand when you finished the current client processing.

  Note: usage of a different log for operations than the alivelog
  is worth the trouble. You could keep a log opened in the case of
  a processing but the alivelog should be kept closed to see when
  the last alive was logged to prevent a double server taking parts
  each of the same client's transactions (this can be prevented ez).

  Since transactions with SQL could take a while and queue up clients
  you could imagine that another RRx takes over while the other
  apps finish their transactions.

  The cherry on the cake

  Now, if RunRev implemented threading into RR for 3.0, we would have
  this process written into just one server application. It's one
  thing that differentiates Java from RR... BUT wait a millisecond,
  requesting web urls is threaded and could be used also as a
  transaction protocol for any client over port 80 couldn't it?

  If well formed, im sure you can send xml or any data embeded into
  an client-side html-form request on good old port 80!
  Using mysqlmgr in html, you can send loads of sql data via a form
  to the server.


> -----Original Message-----
> From: use-revolution-bounces at
> [mailto:use-revolution-bounces at]On Behalf Of Andre
> Garzia
> Sent: Tuesday, August 03, 2004 00:08
> To: How to use Revolution
> Subject: Re: Advise on enterprize application.
> On Aug 2, 2004, at 6:51 PM, Mark Wieder wrote:
> > Andre-
> >
> > I'd have to agree with Trevor here that a multi-tiered approach is the
> > way to go. I think you'll have an easier time of it than trying to
> > stuff everything into a giant rev app (not to mention an easier time
> > doing maintenance in the long run).
> >
> Mark,
> Thanks! Already on that path! I just need to know how to make that
> database library work in the mc engine... it's not there...
> Andre
> > --
> > -Mark Wieder
> >  mwieder at
> >
> >
> --
> Andre Alves Garzia ð 2004
> Soap Dog Studios - BRAZIL
> _______________________________________________
> use-revolution mailing list
> use-revolution at

More information about the Use-livecode mailing list