Skip to content

Commit

Permalink
Update 14.1.2-0-0-SNAPSHOT docs
Browse files Browse the repository at this point in the history
  • Loading branch information
coherence-bot committed Dec 17, 2024
1 parent 9fd58c5 commit b4f06cd
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
2 changes: 1 addition & 1 deletion 14.1.2-0-0-SNAPSHOT/docs/main/search-index.json
Original file line number Diff line number Diff line change
Expand Up @@ -1817,7 +1817,7 @@
},
{
"location": "/docs/about/02_introduction",
"text": " First and foremost, Coherence provides a fundamental service that is responsible for all facets of clustering and is a common denominator / building block for all other Coherence services. This service, referred to as 'service 0' internally, ensures the mesh of members is maintained and responsive, taking action to collaboratively evict, shun, or in some cases voluntarily depart the cluster when deemed necessary. As members join and leave the cluster, other Coherence services are notified thus allows those services to react accordingly. This part of the Coherence product has been in production for 10+ years, being the subject of some extensive and imaginative testing. While it has been discussed here it certainly is not something that customers, generally, interact with directly but is valuable to be aware of. Coherence services build on top of the clustering service, with the key implementations to be aware of are PartitionedService, InvocationService, and ProxyService. In the majority of cases customers will deal with caches; a cache will be represented by an implementation of NamedCache<K,V> . Cache is an unfortunate name, as many Coherence customers use Coherence as a system-of-record rather than a lossy store of data. A cache is hosted by a service, generally the PartitionedService, and is the entry point to storing, retrieving, aggregating, querying, and streaming data. There are a number of features that caches provide: Fundamental key-based access : get/put getAll/putAll Client-side and storage-side events MapListeners to asynchronously notify clients of changes to data EventInterceptors (either sync or async) to be notified storage level events, including mutations, partition transfer, failover, etc NearCaches - locally cached data based on previous requests with local content invalidated upon changes in storage tier ViewCaches - locally stored view of remote data that can be a subset based on a predicate and is kept in sync real time Queries - distributed, parallel query evaluation to return matching key, values or entries with potential to optimize performance with indices Aggregations - a map/reduce style aggregation where data is aggregated in parallel on all storage nodes and results streamed back to the client for aggregation of those results to produce a final result 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 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 Non-blocking / async NamedCache API C++ and .NET clients - access the same NamedCache API from either C++ or .NET Portable Object Format - optimized serialization format, with the ability to navigate the serialized form for optimized queries, aggregations, or data processing Integration with Databases - Database & third party data integration with CacheStores including both synchronous or asynchronous writes CohQL - ansi-style query language with a console for adhoc queries Topics - distributed topics implementation offering pub/sub messaging with the storage capacity the cluster and parallelizable subscribers There are also a number of non-functional features that Coherence provides: Rock solid clustering - highly tuned and robust clustering stack that allows Coherence to scale to thousands of members in a cluster with thousands of partitions and terabytes of data being accessed, mutated, queried and aggregated concurrently Safety first - resilient data management that ensures backup copies are on distinct machines, racks, or sites and the ability to maintain multiple backups 24/7 Availability - zero down time with rolling redeploy of cluster members to upgrade application or product versions Backwards and forwards compatibility of product upgrades, including major versions Persistent Caches - with the ability to use local file system persistence (thus avoid extra network hops) and leverage Coherence consensus protocols to perform distributed disk recovery when appropriate Distributed State Snapshot - ability to perform distributed point-in-time snapshot of cluster state, and recover snapshot in this or a different cluster (leverages persistence feature) Lossy redundancy - ability to reduce the redundancy guarantee by making backups and/or persistence asynchronous from a client perspective Single Mangement View - provides insight into the cluster with a single JMX server that provides a view of all members of the cluster Management over REST - all JMX data and operations can be performed over REST, including cluster wide thread dumps and heapdumps 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++ and .NET Kubernetes friendly - seamlessly and safely deploy applications to k8s with our own operator ",
"text": " First and foremost, Coherence provides a fundamental service that is responsible for all facets of clustering and is a common denominator / building block for all other Coherence services. This service, referred to as 'service 0' internally, ensures the mesh of members is maintained and responsive, taking action to collaboratively evict, shun, or in some cases voluntarily depart the cluster when deemed necessary. As members join and leave the cluster, other Coherence services are notified thus allowing those services to react accordingly. This part of the Coherence product has been in production for 20+ years, and has been the subject of some extensive and imaginative testing. While it has been discussed here it certainly is not something that customers, generally, interact with directly but is valuable to be aware of. Coherence services build on top of the clustering service, with the key implementations to be aware of being PartitionedService, InvocationService, and ProxyService. In the majority of cases customers will deal with caches; a cache will be represented by an implementation of NamedCache<K,V> . Cache is an unfortunate name, as many customers use Coherence as a system-of-record rather than a lossy store of data. A cache is hosted by a service, generally the PartitionedService, and is the entry point to storing, retrieving, aggregating, querying, and streaming data. There are a number of features that caches provide: Fundamental key-based access : get/put getAll/putAll Client-side and storage-side events MapListeners to asynchronously notify clients of changes to data EventInterceptors (either sync or async) to be notified storage level events, including mutations, partition transfer, failover, etc NearCaches - locally cached data based on previous requests with local content invalidated upon changes in storage tier ViewCaches - locally stored view of remote data that can be a subset based on a predicate and is kept in sync real time Queries - distributed, parallel query evaluation to return matching key, values or entries with potential to optimize performance with indices Aggregations - a map/reduce style aggregation where data is aggregated in parallel on all storage nodes and results streamed back to the client for aggregation of those results to produce a final result 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 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 Non-blocking / async NamedCache API Polyglot clients - access the same NamedCache API from C++, Go, Java, JavaScript, .NET, or Python Portable Object Format - optimized serialization format, with the ability to navigate the serialized form for optimized queries, aggregations, or data processing Integration with Databases - Database & third party data integration with CacheStores including both synchronous or asynchronous writes CohQL - ansi-style query language with a console for adhoc queries Topics - distributed topics implementation offering pub/sub messaging with the storage capacity the cluster and parallelizable subscribers 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 Microservices integration - broad and close integration with Helidon, Micronaut, and Spring for developing microservices applications using Coherence as a data source or cache coherence-concurrent - Coherence-backed implementations of types from the java.util.concurrent package enabling distributed process coordination through the grid There are also a number of non-functional features that Coherence provides: Rock solid clustering - highly tuned and robust clustering stack that allows Coherence to scale to thousands of members in a cluster with thousands of partitions and terabytes of data being accessed, mutated, queried and aggregated concurrently Safety first - resilient data management that ensures backup copies are on distinct machines, racks, or sites and the ability to maintain multiple backups 24/7 Availability - zero down time with rolling redeploy of cluster members to upgrade application or product versions Backwards and forwards compatibility of product upgrades, including major versions Persistent Caches - with the ability to use local file system persistence (thus avoid extra network hops) and leverage Coherence consensus protocols to perform distributed disk recovery when appropriate Distributed State Snapshot - ability to perform distributed point-in-time snapshot of cluster state, and recover snapshot in this or a different cluster (leverages persistence feature) Lossy redundancy - ability to reduce the redundancy guarantee by making backups and/or persistence asynchronous from a client perspective Single Mangement View - provides insight into the cluster with a single JMX server that provides a view of all members of the cluster Management over REST - all JMX data and operations can be performed over REST, including cluster wide thread dumps and heapdumps 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++, Go, JavaScript, .NET, and Python Kubernetes friendly - seamlessly and safely deploy applications to k8s with our own operator ",
"title": "Introduction"
},
{
Expand Down
24 changes: 18 additions & 6 deletions 14.1.2-0-0-SNAPSHOT/docs/pages/docs/about/02_introduction.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@
common denominator / building block for all other Coherence services.
This service, referred to as 'service 0' internally, ensures the mesh of members is maintained and responsive,
taking action to collaboratively evict, shun, or in some cases voluntarily depart the cluster when deemed necessary.
As members join and leave the cluster, other Coherence services are notified thus allows those services to react accordingly.</p>
As members join and leave the cluster, other Coherence services are notified thus allowing those services to react accordingly.</p>

<div class="admonition note">
<p class="admonition-inline">This part of the Coherence product has been in production for 10+ years, being the subject of some extensive and
<p class="admonition-inline">This part of the Coherence product has been in production for 20+ years, and has been the subject of some extensive and
imaginative testing.
While it has been discussed here it certainly is not something that customers, generally, interact with directly but is
valuable to be aware of.</p>
</div>
<p>Coherence services build on top of the clustering service, with the key implementations to be aware of are
<p>Coherence services build on top of the clustering service, with the key implementations to be aware of being
PartitionedService, InvocationService, and ProxyService.</p>

<p>In the majority of cases customers will deal with caches;
a cache will be represented by an implementation of <code>NamedCache&lt;K,V&gt;</code>.
Cache is an unfortunate name, as many Coherence customers use Coherence as a system-of-record rather than a lossy store of data.
Cache is an unfortunate name, as many customers use Coherence as a system-of-record rather than a lossy store of data.
A cache is hosted by a service, generally the PartitionedService, and is the entry point to storing, retrieving,
aggregating, querying, and streaming data.
There are a number of features that caches provide:</p>
Expand Down Expand Up @@ -71,7 +71,7 @@ There are a number of features that caches provide:</p>

</li>
<li>
<p><strong>C&#43;&#43; and .NET clients</strong> - access the same NamedCache API from either C&#43;&#43; or .NET</p>
<p><strong>Polyglot clients</strong> - access the same NamedCache API from C&#43;&#43;, Go, Java, JavaScript, .NET, or Python</p>

</li>
<li>
Expand All @@ -89,6 +89,18 @@ There are a number of features that caches provide:</p>
<li>
<p><strong>Topics</strong> - distributed topics implementation offering pub/sub messaging with the storage capacity the cluster and parallelizable subscribers</p>

</li>
<li>
<p><strong>Repository API</strong> - 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</p>

</li>
<li>
<p><strong>Microservices integration</strong> - broad and close integration with Helidon, Micronaut, and Spring for developing microservices applications using Coherence as a data source or cache</p>

</li>
<li>
<p><strong>coherence-concurrent</strong> - Coherence-backed implementations of types from the <code>java.util.concurrent</code> package enabling distributed process coordination through the grid</p>

</li>
</ul>
<p>There are also a number of non-functional features that Coherence provides:</p>
Expand Down Expand Up @@ -132,7 +144,7 @@ There are a number of features that caches provide:</p>

</li>
<li>
<p><strong>Non-cluster Access</strong> - access to the cluster from the outside via proxies, for distant (high latency) clients and for non-java languages such as C&#43;&#43; and .NET</p>
<p><strong>Non-cluster Access</strong> - access to the cluster from the outside via proxies, for distant (high latency) clients and for non-Java languages such as C&#43;&#43;, Go, JavaScript, .NET, and Python</p>

</li>
<li>
Expand Down

0 comments on commit b4f06cd

Please sign in to comment.