Abhishek
Abhishek

Reputation: 422

How to create distributed remote cluster using Oracle Coherence

I want to use Oracle Coherence as a distributed remote cluster(having multiple caches) for my applications and applications can connect this remote cluster using TCP-Extend policy.

Cache may contain:

1.) [Database Caching]: Database records(Such as L2 cache)

2.) [Self-Populated Cache]: Populate cache with data pulled from some store. Once populated then only grid/cluster will be able to serve request.

I am thinking of one of two approaches to achieve this:

1.) Using coherence server in cluster mode.(deployed with in-build http server, probably glassfish).

2.) Using coherence with weblogic in cluster mode.

All the cluster nodes will be on different machine to form a distributed cache. Applications can connect to this remote cluster/grid using TCP-Extend Client with the cache name for required data.

Which approach is good and why for such requirement..?

Any other better approach...?

Upvotes: 0

Views: 713

Answers (1)

ARau
ARau

Reputation: 489

Here are the Pros and Cons for the uses cases:

1) Using coherence server in cluster mode:
Pros:

  • Easy for development and unit/integration testing as there is no need to install Weblogic on developer and build machines.

Cons:

  • Administration and monitoring of the Coherence cluster will be a challenge as you will need to figure out how to integrate Coherence cluster nodes with Glassfish. Although L2 caching is straight forward and there is documentation on how to integrate Coherence*Web with Glassfish this is only for Web session caching and does not cover the [Self-Populated Cache] use case.

  • Oracle recommends that you disable local storage for Extend-Proxy server nodes which means you will need to have some JVMs as Glassfish+Coherence storage enabled nodes and other JVMs as Extend-Proxy storage disabled nodes. You may need to come up with custom scripts/tools to manage and monitor these different nodes.

2) Using coherence with Weblogic in cluster mode.
Pros:

  • Administration and Monitoring of Coherence cluster in Test and Prod env is easy using WLAdmin console.
  • Support for Cluster storage and Extend-Proxies is built-in. Makes scaling the cluster up/down very easy.
  • Supports GAR archive format which makes it easy to deploy multiple coherence applications and manage their lifecycles independently.

Cons:

  • Need to install Weblogic on developer/build machines. You can avoid installing Weblogic by packaging your application as a GAR archive and deploy that in standalone mode on developer and unit/integration test machine by passing the gar file path to DefaultCacheSever class like this:

java -server -Xms512m -Xmx512m -cp APPLICATION_HOME\config;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer D:\example\MyGAR.gar

Using the Weblogic tools really helps the operations folks manage the cluster and gives the developers some benefits.

Upvotes: 0

Related Questions