You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: prj/docs/about/02_introduction.adoc
+9-6Lines changed: 9 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,19 +14,19 @@ First and foremost, Coherence provides a fundamental service that is responsible
14
14
common denominator / building block for all other Coherence services.
15
15
This service, referred to as 'service 0' internally, ensures the mesh of members is maintained and responsive,
16
16
taking action to collaboratively evict, shun, or in some cases voluntarily depart the cluster when deemed necessary.
17
-
As members join and leave the cluster, other Coherence services are notified thus allows those services to react accordingly.
17
+
As members join and leave the cluster, other Coherence services are notified thus allowing those services to react accordingly.
18
18
19
-
NOTE: This part of the Coherence product has been in production for 10+ years, being the subject of some extensive and
19
+
NOTE: This part of the Coherence product has been in production for 20+ years, and has been the subject of some extensive and
20
20
imaginative testing.
21
21
While it has been discussed here it certainly is not something that customers, generally, interact with directly but is
22
22
valuable to be aware of.
23
23
24
-
Coherence services build on top of the clustering service, with the key implementations to be aware of are
24
+
Coherence services build on top of the clustering service, with the key implementations to be aware of being
25
25
PartitionedService, InvocationService, and ProxyService.
26
26
27
27
In the majority of cases customers will deal with caches;
28
28
a cache will be represented by an implementation of `NamedCache<K,V>`.
29
-
Cache is an unfortunate name, as many Coherence customers use Coherence as a system-of-record rather than a lossy store of data.
29
+
Cache is an unfortunate name, as many customers use Coherence as a system-of-record rather than a lossy store of data.
30
30
A cache is hosted by a service, generally the PartitionedService, and is the entry point to storing, retrieving,
31
31
aggregating, querying, and streaming data.
32
32
There are a number of features that caches provide:
@@ -42,11 +42,14 @@ There are a number of features that caches provide:
42
42
* *Data local processing* - an ability to send a function to the relevant storage node to execute processing logic for the appropriate entries with exclusive access
43
43
* *Partition local transactions* - an ability to perform scalable transactions by associating data (thus being on the same partition) and manipulating other entries on the same partition potentially across caches
44
44
* *Non-blocking / async NamedCache API*
45
-
* *C{pp} and .NET clients* - access the same NamedCache API from either C{pp} or .NET
45
+
* *Polyglot clients* - access the same NamedCache API from C{pp}, Go, Java, JavaScript, .NET, or Python
46
46
* *Portable Object Format* - optimized serialization format, with the ability to navigate the serialized form for optimized queries, aggregations, or data processing
47
47
* *Integration with Databases* - Database & third party data integration with CacheStores including both synchronous or asynchronous writes
48
48
* *CohQL* - ansi-style query language with a console for adhoc queries
49
49
* *Topics* - distributed topics implementation offering pub/sub messaging with the storage capacity the cluster and parallelizable subscribers
50
+
* *Repository API* - a framework implementing the Repository pattern from Domain-Driven Design, abstracting persistent storage implementation from application code, with advanced features like support for pagination, projections, streaming, and updating in-place
51
+
* *Microservices integration* - broad and close integration with Helidon, Micronaut, and Spring for developing microservices applications using Coherence as a data source or cache
52
+
* *coherence-concurrent* - Coherence-backed implementations of types from the `java.util.concurrent` package enabling distributed process coordination through the grid
50
53
51
54
There are also a number of non-functional features that Coherence provides:
52
55
@@ -59,7 +62,7 @@ There are also a number of non-functional features that Coherence provides:
59
62
* *Lossy redundancy* - ability to reduce the redundancy guarantee by making backups and/or persistence asynchronous from a client perspective
60
63
* *Single Mangement View* - provides insight into the cluster with a single JMX server that provides a view of all members of the cluster
61
64
* *Management over REST* - all JMX data and operations can be performed over REST, including cluster wide thread dumps and heapdumps
62
-
* *Non-cluster Access* - access to the cluster from the outside via proxies, for distant (high latency) clients and for non-java languages such as C{pp} and .NET
65
+
* *Non-cluster Access* - access to the cluster from the outside via proxies, for distant (high latency) clients and for non-Java languages such as C{pp}, Go, JavaScript, .NET, and Python
63
66
* *Kubernetes friendly* - seamlessly and safely deploy applications to k8s with our own https://github.com/oracle/coherence-operator[operator]
0 commit comments