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

Marantelli Luca Luca.Marantelli at nposistemi.it
Thu Apr 15 15:22:59 CEST 2010


Ok. Thank you very much Michael. If I want to purchase the module I need to buy module for 4 nodes (A, B, C, D in your example). Is this correct?

-----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 15:18
A: The OpenCms mailing list
Oggetto: Re: [opencms-dev] R: R: Question about OCEE Cluster and Replicator

Hello Luca,

> "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:"

This quote is how to setup a simple cluster of two OpenCms systems 
without replication. I will give you a short description how to setup 
your system below

> 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?


You will have something like tis:

Internal:

Server A (Workplace)
Database a

-------------------------------------

External

Server B, C, D
Database b
Loadbalancer



How to install this:
1)
You first setup your Server A (Workplace) connecting to database a and 
install all modules in the setup wizard.

2)
Then setup Server B, connecting to database b, but do NOT install any 
modules here.

3)
After this, you can setup Server C and D, both connecting to database b, 
for them you do not need to recreate the database, because it was made 
in Step 2. Do not install any modules in the setup wizard.

You now have one complete OpenCms system isntalled (Server A) and three 
empty OpenCms installations B, C and D. All of those servers should 
start up correctly as you can see in the opencms.log file. Of course, 
you only can log in Server A, as this is the only server which has the 
workplace installed. All four servers are not connected with OCEE 
Cluster so far.

4)
Now install OCEE Cluster and OCEE Replication as it is described in the 
manual. During this process, you will have to add an additional database 
connection in the opencms.properties of Server A as it is described in 
the manual.

5)
Configure your loadbalancer that it balances the external requests 
between B,C, D.


After this your system should be configured that you can edit content on 
Server A and deliver it from B,C and D.


Kind regards,
Michael Emmerich








> -----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