[xwiki-users] Clustering of Xwiki
Hey everybody, I found some information on clustering for Xwiki where I have to set the observation.remote.enabled to true. Per my understanding the cache would be synchronized between every instance (via Jgroups). Now we want to use the following architecture: We have 2 datacenters. In each datacenter are 2 servers with a Xwiki instance running (so 4 instances in 2 datacenters). As database we want to use Oracle RAC. Is it possible to run these 4 instances on the Oracle RAC? Is it possible to invalidate the cache of another instance if one instance has some write action or something (so it generates a new cache on its own)? We would have 1 loadbalancer to manage the load between the two datacenters and 1 loadbalancer in every datacenter to manage the load between the 2 instances. Every instance should show the same content... Kind regards, Patrick ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users
Re: [xwiki-users] Clustering of Xwiki
There is no system like this by default. You could probably empty all the caches in some script every minutes but note that doing something like this would cause big performances issues especially on document loading. Emptying a cache every minutes is not very different from not having cache at all. On Thu, Jun 11, 2015 at 4:00 PM, Enste, Patrick patrick.en...@atos.net wrote: Great! Thanks :-) But I have another question: Is it possible to set this observation.remote.enabled to false and say that every instance should update its cache.every minute? So that the instances do not have to talk to each other, but have the same data after at most 1 minute? Kind regards, Patrick -Original Message- From: users [mailto:users-boun...@xwiki.org] On Behalf Of Thomas Mortagne Sent: Thursday, June 11, 2015 3:55 PM To: XWiki Users Subject: Re: [xwiki-users] Clustering of Xwiki Exacly. Note that modification on document is only one kind of events that is shared, by default you also have extension related events (so that all instance install extensions installe or one of them) and any component can introduce new remote events. On Thu, Jun 11, 2015 at 2:27 PM, Enste, Patrick patrick.en...@atos.net wrote: So Jgroups does not send any files or changes to the other cluster members, but only a message that some files or pages have been edited? So the files or pages get invalidated in the cache and the cluster members will update them by their own? Kind regards, Patrick -Original Message- From: users [mailto:users-boun...@xwiki.org] On Behalf Of Thomas Mortagne Sent: Thursday, June 11, 2015 2:03 PM To: XWiki Users Subject: Re: [xwiki-users] Clustering of Xwiki On Thu, Jun 11, 2015 at 1:02 PM, Enste, Patrick patrick.en...@atos.net wrote: Hey everybody, I found some information on clustering for Xwiki where I have to set the observation.remote.enabled to true. Per my understanding the cache would be synchronized between every instance (via Jgroups). Not exactly, it's not so much about synchronizing cache. As the property suggest what happen is that some events like modified documents go trough the cluster using JGroups and they are injected in the local event manager of other members to let all listeners know a document has been modified and do whatever they want about it (invalidate some entry from a cache because it depend on the modified document, update some local solr/lucene index, etc.). Now we want to use the following architecture: We have 2 datacenters. In each datacenter are 2 servers with a Xwiki instance running (so 4 instances in 2 datacenters). As database we want to use Oracle RAC. Is it possible to run these 4 instances on the Oracle RAC? Is it possible to invalidate the cache of another instance if one instance has some write action or something (so it generates a new cache on its own)? I don't really know Oracle RAC but if what you mean is that you have two groups of instance and each group have a different database as lon have you have some mecanisme that make sure those database are synchronized it should be ok too. You put everyone in the same cluster and documents related caches will be invalidated everywhere when you modifiy a document for example. We would have 1 loadbalancer to manage the load between the two datacenters and 1 loadbalancer in every datacenter to manage the load between the 2 instances. Every instance should show the same content... Kind regards, Patrick ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users
Re: [xwiki-users] Clustering of Xwiki
Great! Thanks :-) But I have another question: Is it possible to set this observation.remote.enabled to false and say that every instance should update its cache.every minute? So that the instances do not have to talk to each other, but have the same data after at most 1 minute? Kind regards, Patrick -Original Message- From: users [mailto:users-boun...@xwiki.org] On Behalf Of Thomas Mortagne Sent: Thursday, June 11, 2015 3:55 PM To: XWiki Users Subject: Re: [xwiki-users] Clustering of Xwiki Exacly. Note that modification on document is only one kind of events that is shared, by default you also have extension related events (so that all instance install extensions installe or one of them) and any component can introduce new remote events. On Thu, Jun 11, 2015 at 2:27 PM, Enste, Patrick patrick.en...@atos.net wrote: So Jgroups does not send any files or changes to the other cluster members, but only a message that some files or pages have been edited? So the files or pages get invalidated in the cache and the cluster members will update them by their own? Kind regards, Patrick -Original Message- From: users [mailto:users-boun...@xwiki.org] On Behalf Of Thomas Mortagne Sent: Thursday, June 11, 2015 2:03 PM To: XWiki Users Subject: Re: [xwiki-users] Clustering of Xwiki On Thu, Jun 11, 2015 at 1:02 PM, Enste, Patrick patrick.en...@atos.net wrote: Hey everybody, I found some information on clustering for Xwiki where I have to set the observation.remote.enabled to true. Per my understanding the cache would be synchronized between every instance (via Jgroups). Not exactly, it's not so much about synchronizing cache. As the property suggest what happen is that some events like modified documents go trough the cluster using JGroups and they are injected in the local event manager of other members to let all listeners know a document has been modified and do whatever they want about it (invalidate some entry from a cache because it depend on the modified document, update some local solr/lucene index, etc.). Now we want to use the following architecture: We have 2 datacenters. In each datacenter are 2 servers with a Xwiki instance running (so 4 instances in 2 datacenters). As database we want to use Oracle RAC. Is it possible to run these 4 instances on the Oracle RAC? Is it possible to invalidate the cache of another instance if one instance has some write action or something (so it generates a new cache on its own)? I don't really know Oracle RAC but if what you mean is that you have two groups of instance and each group have a different database as lon have you have some mecanisme that make sure those database are synchronized it should be ok too. You put everyone in the same cluster and documents related caches will be invalidated everywhere when you modifiy a document for example. We would have 1 loadbalancer to manage the load between the two datacenters and 1 loadbalancer in every datacenter to manage the load between the 2 instances. Every instance should show the same content... Kind regards, Patrick ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users
Re: [xwiki-users] Clustering of Xwiki
On Thu, Jun 11, 2015 at 1:02 PM, Enste, Patrick patrick.en...@atos.net wrote: Hey everybody, I found some information on clustering for Xwiki where I have to set the observation.remote.enabled to true. Per my understanding the cache would be synchronized between every instance (via Jgroups). Not exactly, it's not so much about synchronizing cache. As the property suggest what happen is that some events like modified documents go trough the cluster using JGroups and they are injected in the local event manager of other members to let all listeners know a document has been modified and do whatever they want about it (invalidate some entry from a cache because it depend on the modified document, update some local solr/lucene index, etc.). Now we want to use the following architecture: We have 2 datacenters. In each datacenter are 2 servers with a Xwiki instance running (so 4 instances in 2 datacenters). As database we want to use Oracle RAC. Is it possible to run these 4 instances on the Oracle RAC? Is it possible to invalidate the cache of another instance if one instance has some write action or something (so it generates a new cache on its own)? I don't really know Oracle RAC but if what you mean is that you have two groups of instance and each group have a different database as lon have you have some mecanisme that make sure those database are synchronized it should be ok too. You put everyone in the same cluster and documents related caches will be invalidated everywhere when you modifiy a document for example. We would have 1 loadbalancer to manage the load between the two datacenters and 1 loadbalancer in every datacenter to manage the load between the 2 instances. Every instance should show the same content... Kind regards, Patrick ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users
Re: [xwiki-users] Clustering of Xwiki
So Jgroups does not send any files or changes to the other cluster members, but only a message that some files or pages have been edited? So the files or pages get invalidated in the cache and the cluster members will update them by their own? Kind regards, Patrick -Original Message- From: users [mailto:users-boun...@xwiki.org] On Behalf Of Thomas Mortagne Sent: Thursday, June 11, 2015 2:03 PM To: XWiki Users Subject: Re: [xwiki-users] Clustering of Xwiki On Thu, Jun 11, 2015 at 1:02 PM, Enste, Patrick patrick.en...@atos.net wrote: Hey everybody, I found some information on clustering for Xwiki where I have to set the observation.remote.enabled to true. Per my understanding the cache would be synchronized between every instance (via Jgroups). Not exactly, it's not so much about synchronizing cache. As the property suggest what happen is that some events like modified documents go trough the cluster using JGroups and they are injected in the local event manager of other members to let all listeners know a document has been modified and do whatever they want about it (invalidate some entry from a cache because it depend on the modified document, update some local solr/lucene index, etc.). Now we want to use the following architecture: We have 2 datacenters. In each datacenter are 2 servers with a Xwiki instance running (so 4 instances in 2 datacenters). As database we want to use Oracle RAC. Is it possible to run these 4 instances on the Oracle RAC? Is it possible to invalidate the cache of another instance if one instance has some write action or something (so it generates a new cache on its own)? I don't really know Oracle RAC but if what you mean is that you have two groups of instance and each group have a different database as lon have you have some mecanisme that make sure those database are synchronized it should be ok too. You put everyone in the same cluster and documents related caches will be invalidated everywhere when you modifiy a document for example. We would have 1 loadbalancer to manage the load between the two datacenters and 1 loadbalancer in every datacenter to manage the load between the 2 instances. Every instance should show the same content... Kind regards, Patrick ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users
Re: [xwiki-users] Clustering of Xwiki
Exacly. Note that modification on document is only one kind of events that is shared, by default you also have extension related events (so that all instance install extensions installe or one of them) and any component can introduce new remote events. On Thu, Jun 11, 2015 at 2:27 PM, Enste, Patrick patrick.en...@atos.net wrote: So Jgroups does not send any files or changes to the other cluster members, but only a message that some files or pages have been edited? So the files or pages get invalidated in the cache and the cluster members will update them by their own? Kind regards, Patrick -Original Message- From: users [mailto:users-boun...@xwiki.org] On Behalf Of Thomas Mortagne Sent: Thursday, June 11, 2015 2:03 PM To: XWiki Users Subject: Re: [xwiki-users] Clustering of Xwiki On Thu, Jun 11, 2015 at 1:02 PM, Enste, Patrick patrick.en...@atos.net wrote: Hey everybody, I found some information on clustering for Xwiki where I have to set the observation.remote.enabled to true. Per my understanding the cache would be synchronized between every instance (via Jgroups). Not exactly, it's not so much about synchronizing cache. As the property suggest what happen is that some events like modified documents go trough the cluster using JGroups and they are injected in the local event manager of other members to let all listeners know a document has been modified and do whatever they want about it (invalidate some entry from a cache because it depend on the modified document, update some local solr/lucene index, etc.). Now we want to use the following architecture: We have 2 datacenters. In each datacenter are 2 servers with a Xwiki instance running (so 4 instances in 2 datacenters). As database we want to use Oracle RAC. Is it possible to run these 4 instances on the Oracle RAC? Is it possible to invalidate the cache of another instance if one instance has some write action or something (so it generates a new cache on its own)? I don't really know Oracle RAC but if what you mean is that you have two groups of instance and each group have a different database as lon have you have some mecanisme that make sure those database are synchronized it should be ok too. You put everyone in the same cluster and documents related caches will be invalidated everywhere when you modifiy a document for example. We would have 1 loadbalancer to manage the load between the two datacenters and 1 loadbalancer in every datacenter to manage the load between the 2 instances. Every instance should show the same content... Kind regards, Patrick ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users -- Thomas Mortagne ___ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users