Right...... The sitemodel is stored in 2 places
1. In the CODB as lots and lots of objects (this is horrible) 2. In a (our case) HUGE structure in the server scope on the machine. The second is put in place when the application is initalised, the cfa_applicationinitalise tag goes off does a huge CODB get on all the sitemodel objects, then loops overthem building the sitemode (take quite a while). This then stored in the server scope on the server, when Spectra want to find a UUID it looks here, if it wants to see if a page exists then it checks here. This is the major issue with clustering, because when you add a new page, the server scope is only updated on the machine the request to create a page was sent to (same issue with containers). When another cluster machine hits the new page it checks to see if it knows of this page in its SERVER scope (it obviously cant find it), so it goes ahead and Creates a new one in the CODB, and registers the new UUID in the SERVER scope. Now we have 2 machines that have the same page with two different VALID UUID's in the CODB. grrrrr To get round this you can force the MACHINE to REBUILD the part of the Sitemodel stored in the SERVER scope before checking that the page exists, this is'nt completely safe as two machines could do this at EXACTLY the same time. Another way is to only allow Page and Container creation if a URL parameter is provided, this is the way we do it... As for files, we keep these on a Network drive, mounted on each cluster machine, this is done for both the webroot and the spectra install (its customtags /allaire/spectra/) the CF install stays local to each machine, for this to work the SPECTRA install must be pointed at the same security and Database.... Which code do you want????? -----Original Message----- From: Andy Fletcher [mailto:[EMAIL PROTECTED]] Sent: 19 February 2002 17:30 To: Spectra-Talk Subject: RE: Clustered ColdFusion Servers for Spectra Steven, We're currently looking at clustering our Spectra apps so I'm interested in the problems you have encountered, but don't quite understand what you are doing here. Why does refreshing the site model before adding a page help? From just quickly going through it in my head it would have to be more like this: Add new page on server 1 Call new page on server 1 (site model is updated in server scope) Tell all other servers to update site model before the page is called on them. If your code is easily available, it'd be great to see it. Whilst we're on the subject of clustering... how do you manage to keep files (images etc.) in sync between the servers? Have you coded something in CF to automatically copy it across the cluster when a new file is uploaded. Cheers, Andy > -----Original Message----- > From: Steven Harper [mailto:[EMAIL PROTECTED]] > Sent: 19 February 2002 16:03 > To: Spectra-Talk > Subject: RE: Clustered ColdFusion Servers for Spectra > > > We run both CF and Spectra on a cluster of Solaris machine... > > Licenses are needed for all machines... > > There are pitfalls in doing this, especially in CFA_page and > CFA_container, > these tags look for Entries (when registering new objects) in the > Sitemodel > in the server scope, if they find no entry, then they create a new page or > container, However the problem arises when one cluster machine > creates a new > object and only updates IT'S server vars, the next machine to hit the same > code will create its OWN new object, then they both look at different > objects, until the machines are rebooted and get all confused when finding > two objects in the database..... > > To get round this problems you either refresh the sitemodel before each > creation of a new page or container... > or > Stop the tags when they attempt to create a new object and require an > override (in the URL) to create the new object (and another URL param to > force the server to refresh its server scope) > > If you want to see code, then just ask > > Steven Harper ______________________________________________________________________ Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm ------------------------------------------------------------------------------ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/spectra_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
