[opencms-dev] R: R: Question about OCEE Cluster and Replicator

Marantelli Luca Luca.Marantelli at nposistemi.it
Thu Apr 15 10:17:26 CEST 2010


Hi Michael

This should be the right configuration for my environment. But when I read:

"To configure an OpenCms Cluster you will need two or more OpenCms instances installed on 
separated machines, all instances accessing the same database. To achieve this configuration 
you will need to install every instance, making a distinction during the setup process of the first 
instance and the others:"

I understand that the workplace server (that is part of the cluster) must point to the same database of the other production machines. But in my environment (and you confirmed it) the WP points to its own database (where user edit contents and admin publish them). I have a balancer behind the 3 production servers. These instances are in the cluster and in the cluster is also the WP instance (that has a different database). The cluster mechanism is correct anyway? The hardware balancer must consider also the WP instance or only the 3 productions instances? Can you explain me better this concept please?

thanks


-----Messaggio originale-----
Da: opencms-dev-bounces at opencms.org [mailto:opencms-dev-bounces at opencms.org] Per conto di Michael Emmerich
Inviato: giovedì 15 aprile 2010 09:27
A: The OpenCms mailing list
Oggetto: Re: [opencms-dev] R: Question about OCEE Cluster and Replicator

Hello Luca,

> I'm going on configuring replication and I have additional questions.
> In the replication module docs is written that I have to place in opencms.properties the info about the replication db (that is the database of the 3 production servers.)
> I don't need to place the same configuration in the opencms.properties of the 3 production server instances, am I right?

Yes.

In the opencms.properties, you have to define the database pools which 
are used by OpenCms.

If you have the following:
Workplace Server A (internal)
Database a (internal)

Production Servers B,C,E (external)
Database b (external)

Your db-pool configuration must look like this:

Workplace Serrver A:
Connection pool "default" pointing to database a
Connection pool "rteplication" pointing to database b

Production Servers B,C,D
Connection pool "default" pointing to database b


> And inside ocee-replication.xml I need to specify only 1<server>  where the destination name is  one of the 3 names of production instances. Is this correct?

Yes, this is correct.

> Because in my environment I need to replicate only in the production DB, so which production server name is specified is not important.
> Maybe a stupid question: I should do the same without cluster module? I mean: I have the replicator that update the production db. I have the 3 servers that point to that database and so I should see the resource online in every production server. What cluster module gives me more that an environment without it?

Replication does not work correctly without the cluster. Why?

Replication is done in the database. By default, the replication is 
automatically made when you publish something on the workplace server.

OpenCms keeps its content in two different sets of DB-Tables, Online and 
Offline. Content can only be edited in the Offline tables. When you 
publish something those changes are copied fomr the Offline to the 
Online tables. If you use replication, the content is also copied to the 
Online tables of the replicated database. This means, after the 
replication is completed, the production servers have the new content in 
their database.

But: Every OpenCms installation has its internal caches, those caches 
are stored in memory. So if you change some content in the database, 
those caches must be flushed. This is done via the Caching module. If 
you publish something, the OCEE-Cluster will tell all other OpenCms 
servers that they have to flush parts of the cache, maybe doing some 
static export, rebuild the search indices etc.

So the cluster module alles the workplace server to communicate with the 
other ones.

Hope this helps.

Kind regars,
Michael Emmerich






> -----Messaggio originale-----
> Da: opencms-dev-bounces at opencms.org [mailto:opencms-dev-bounces at opencms.org] Per conto di Michael Emmerich
> Inviato: mercoledì 14 aprile 2010 16:15
> A: The OpenCms mailing list
> Oggetto: Re: [opencms-dev] Question about OCEE Cluster and Replicator
>
> Hello Luca,
>
>
>> I downloaded the trial version of OCEE module
>>
>> I have an environment with 3 production servers with 3 OpenCms instances
>> that are on the same database.
>>
>> I configured the cluster module on these servers. In documentation I see
>> that one of these must be the workplace server. This means that editors
>> must login on that to edit contents?
>
> This is correct. In an OCEE-Cluster all content editing must be made on
> one of the cluster nodes.
>
>   >  And on the same server the users
>> that have the role of "Approvers" for the contents must login and decide
>> if publish or not?
>
> This is correct.
> The normal workflow in OpenCms is:
> 1) The content editor edits some content, but has no right to publish
> it. The content editor can see his changes in the Offline project.
> 2) The Project manager (=Approver) checks the cotnent and publishes it.
> The published content can then be accessed from the web.
>
> So you could use the same OpenCms instance for content editing and
> approval in the offline project and for content delivery in the online
> project.
>
>> So this is not a production server.
>
> No, of course you can still use this machine for delivering the content
> as well. When you publish something on this machine, the content will be
> accessible.
>
>
>> What I need is an environment where I have 3 production server and
>> another server for editing and approving contents.
>
> This would be a scenario which has a total of 4 OpenCms servers. Three
> for content delivery and one for content editig only.
>
>   >  Then from this server
>> should be a replication of this contents on the 3 production servers. So
>> I suppose I must have a editing server inside network (not public) with
>> its own database where editors can edit contents and where
>> administrators can approve these contents, and from this server Admins
>> can decide to publish "online" the resources. At this point the OCEE
>> replicator replicates these contents on the database of the 3 production
>> instances.
>
> You described it correctly, this is how most OCEE Cluster/Replication
> installations are set up: One internal server to edit the cotnent with
> its own database. Several external servers to deliver the content.
> There are two ways how you can transfer content form the internal server
> to the external ones: This can be dome automatically when you publish
> the content on the internal system (most installations work like this)
> or this has to be done manually after you have published it.
>
>> Is this right? Is this possible?
>
> Yes, this is possible.
>
>   >  If I'm right why I need a workplace
>> server on production environment (in OCEE documentation file
>> documentation_ocee_cluster.pdf is the blue circle at page 3)? I suppose
>> the blue instance is the one where editors edit contents and where Admin
>> decide what to publish online, so not a production machine.
>
> The scenario you describe has one dedicated machine only for content
> editing. So this machine is not deliviering content to the public. But
> as I said above, if your content editing machine is accessible from the
> web, you could use it for content delivery (=production) as well.
>
>
>> So the right solution should be an OpenCms instance with its own
>> database in the private network and 3 public instances of OpenCms
>> pointing all to the same database (but different from the workplace
>> server in the private network). Is this correct?
>
> This would be a setup as it it mostly done with OCEE cluster/replication.
>
>> So I need to install OCEE cluster module on the 3 production instances
>> and the replicator on the other one (the private one) and tell the
>> replicator that every content must be published on the production
>> database after admin has confirmed that the contents are ok.
>
> The cluster module must be installed on all servers. The replication
> module must be installed on the workplace server (= content editing server).
>
> Of course you must take care that you firewall settings allow that the
> workplace server can communicate with all other servers in your OCEE
> Cluster.
>
> Hope this helps.
>
>

-- 
Kind Regards,
Michael.

-------------------
Michael Emmerich

Alkacon Software GmbH  - The OpenCms Experts
http://www.alkacon.com - http://www.opencms.org


_______________________________________________
This mail is sent to you from the opencms-dev mailing list
To change your list options, or to unsubscribe from the list, please visit
http://lists.opencms.org/mailman/listinfo/opencms-dev

AVVERTENZE AI SENSI DEL D.LGS. 196/2003    . 

Il contenuto di questo messaggio (ed eventuali allegati) e' strettamente confidenziale. L'utilizzo del contenuto del messaggio e' riservato esclusivamente al destinatario. La modifica, distribuzione, copia del messaggio da parte di altri e' severamente proibita. Se non siete i destinatari Vi invitiamo ad informare il mittente ed eliminare tutte le copie del suddetto messaggio     .               

The content of this message (and attachment) is closely confidentiality. Use of the content of the message is classified exclusively to the addressee. The modification, distribution, copy of the message from others are forbidden. If you are not the addressees, we invite You to inform the sender and to eliminate all the copies of the message.




More information about the opencms-dev mailing list