Coherence
The Coherence microservice is an in-memory data cache. Coherence provides thread-safe, distributed caching that supports scalability, high availability, database sharding, SSL security, and parallel query processing. Coherence caches data as indexed JSON key-value pairs.
For more information about Coherence, see Introduction to Coherence in Developing Applications with Oracle Coherence.
This microservice is a supporting microservice that other microservices can use for in-cluster storage. It runs in the a1-cache namespace.
This microservice is part of the Topology and Event microservice pipelines. See Understanding Microservice Pipelines in Unified Assurance Concepts for conceptual information.
After deploying this microservice, you can optionally deploy the Device Cache Warmup microservice to load devices into the Coherence cache. See Device Cache Warmup for more information. You can also use FCOM overrides to look up cache entries using cache entry keys or Coherence Query Language (CohQL). See FCOM Processor and Using Coherence Query Language in Oracle Fusion Middleware Developing Applications with Oracle Coherence for more information.
Coherence Operator Prerequisites
Before deploying the microservice, confirm that the following prerequisites are met:
-
A microservice cluster is set up. See Microservice Cluster Setup.
-
The Coherence Operator microservice is deployed.
Deploying Coherence
To deploy the microservice, run the following commands:
su - assure1
export NAMESPACE=a1-cache
export WEBFQDN=<WebFQDN>
a1helm install <microservice-release-name> assure1/coherence -n $NAMESPACE --set global.imageRegistry=$WEBFQDN
where <microservice-release-name> is the name to use for the microservice instance. Oracle recommends using the microservice name (coherence) unless you are deploying multiple instances of the microservice to the same cluster.
Note that this microservice must be deployed to the a1-cache namespace rather than a zone-specific namespace.
You can also use the Unified Assurance UI to deploy microservices. See Deploying a Microservice by Using the UI for more information.
Confirming the Coherence Cluster is Running
-
From the command line, as the assure1 user, and confirm that all Kubernetes pods for Coherence are running:
su - assure1 a1k -n a1-cache get pods
You should see something similar to the following:
coherence-cluster-0 1/1 Running 0 2d coherence-cluster-1 1/1 Running 0 2d coherence-cluster-2 1/1 Running 1 (26h ago) 2d coherence-operator-655fdc568b-2fnh2 1/1 Running 1 (26h ago) 2d coherence-operator-655fdc568b-kjctj 1/1 Running 1 (37h ago) 2d coherence-operator-655fdc568b-lbtxx 1/1 Running 1 (28h ago) 2d
-
Confirm the connection to the Coherence database by starting getting the cluster information:
a1k -n a1-cache exec -it coherence-cluster-0 -- /coherence-operator/utils/cohctl get clusters
You should see something similar to the following:
CONNECTION TYPE URL VERSION CLUSTER NAME TYPE CTX LOCAL default http http://<host:port>/management/coherence/cluster 14.1.2.0.0 coherence-cluster Standalone * false
Note:
Although Coherence provides a CLI and various other utilities, these are not supported for Unified Assurance environments because of conflicting port assignments. To access the cache data, use cache lookups in FCOM overrides.