powered by Jive Software

Is an Oracle Database needed tu run Clustering plugin?

Hi Guys,

Firtst of all, I’m a newbie with OpenFire, so I apologize ofr any “stupid” questions I might make :slight_smile:

  1. I could not find anywhere in the documentation (not even in Oracle’s site) if an oracle database instance is needed to run Coherence (which is a prerequisite for the clustering plugin.

  2. Is there any possibility to run the clustering plugin (or coherence) with a database different than Oracle? Maybe with the embeded database, or SQL Server?

  3. Finally, help me understand how OpenFire achieves scalability. I mean, from my little knowledge, I guess that using Coherence provide some sort of redundancy, like mirroring the state of 2 or more servers, and that’s ok in terms of a fail safe strategy, because if a server fails, the chat service keeps on running on the other servers. Now, isn’t that like having like a single server running (duplicated, of course)? How does OpenFire achive some sort of load balancing, or distribution of payload between the different servers in the cluster?

Sorry if I made it too obvious my lack of knowhow in these areas… And by the way, I don’t need a thorough technical answer, just need to grasp the general idea on the matter, and make sure that OpenFire provides not only redundancy but also scalability.

Thanks in advance,



No, this is not needed, but you cannot run with the embedded database option,

Any postgres, mysql, … suffice.

As others stated, you can use any type of database, except for the embedded one. All of the cluster nodes will use the same database instance.

In a nutshell, Openfire uses the distributed caches provided by Coherence to achieve scalability. Any one cluster node can put something into a cache, which can then be read by all other cluster nodes too. There’s loads of configuration that allows you to tweak behavior (providing redundancy, specifying where instances should ‘physically’ live, etc, etc), but in essence, the scalability is (mostly) based on distributed caches.