Apache Geode

Apache Geode provides a database-like consistency model, reliable transaction processing and a shared-nothing architecture to maintain very low latency performance with high concurrency processing


Driver details org.apache.geode:geode-core:1.15.1

Overview

Joule uses Geode to as as a high performance in-memory key-value store to support advanced stream processing functions at low latency. This architecture pattern has been production deployed and leveraged within large enterprise solutions over 15 years.

Storage regions can be primed on startup using either a custom query or a getAll function otherwise data is fetched on cache misses. Furthermore for cached data elements, data updates are immediately propagated from the connected distributed cluster to the Joule process thereby enabling up-to-date reference data.

Architecture

The Apache Geode architecture applied within Joule uses a connected client cache which initially connects via the Geode locator and there after directly to cluster cache members. The implementation architecture is incredibly flexible and powerful which provides the ability to load on demand dynamic reference data.

Example configuration

geode stores:
    name: us markets
    connection:
        locator address: 192.168.86.39
        locator port: 41111
    stores:
      nasdaqIndex:
        region: nasdaq-companies
        keyClass : java.lang.String
        gii: true
      holidays:
        region: us-holidays
        keyClass : java.lang.Integer

Attributes

Need to refactor by adding connection spec

AttributeDescriptionData TypeRequired

name

Logical name of reference data set for given target connection

String

locator address

Locator process IP address

String Default: localhost

locator port

The port the cluster locator listens for cluster and client connections

Integer Default: 41111

stores

Map of logical names to region configurations. See Region attributes

List of logical storage name to Geode storage region

Last updated