Runtime Architecture

The following is what constitutes the Talon microservice runtime:

Atomic Event Processor (AEP)

The AEP engine is central to every Talon microservice, acting as an intermediary between the message bus, microservice logic, and data storage. It implements a cluster consensus model, allowing Talon microservices to be clustered for fault tolerance and high availability without data loss. The cluster consensus design ensures exactly- once message processing, simplifying the microservice programming model.

Simple Messaging API (SMA)

Talon's Simple Messaging API (SMA) module offers a POJO-based messaging API that encapsulates necessary messaging primitives for the platform. This design enables seamless integration with any messaging provider through easily implemented bindings. SMA introduces the concepts of buses and channels, where applications send and receive messages as POJOs over bus channels, mapped via configuration to the underlying messaging provider destination.

Object Data Store (ODS)

Talon's Object Data Store (ODS) offers a robust, clustered solution for storing POJO-based data objects with transactional integrity and durability. It facilitates rapid object retrieval and storage at memory speeds, while leveraging asynchronous, pipelined replication for consistent data views across cluster members. The AEP engine utilizes these features along with SMA's guaranteed message delivery to achieve exactly-once message processing semantics

Important ODS Concepts include:

  • In-Memory Access: ODS implements the machinery to ensure that data and message objects managed by the store are always presented to store users in local memory i.e. put and gets always happen at memory speeds.

  • Replication: The primary means of achieving persistence for an ODS Store is by pipelined, memory-memory replication of data objects bracketed by transactions to one or more hot backup peers. If a primary application instance fails the backup takes over with no loss of data.

  • Persistence: An ODS Store also logs replicated message and data objects to binary transaction logs to ensure zero loss recovery from planned or unplanned downtime of the entire storage cluster.

  • Change Data Capture (CDC): To allow asynchronous yet transactionally consistent syphoning of application message and data objects to back end or legacy systems, ODS supports the ability to perform Change Data Capture with a simple callback-based mechanism to push state changes.

  • Inter Cluster Replication (ICR): Inter-Cluster Replication allows replication of the store's recovery stream to another data center over messaging, providing an asynchronous and transactional consistent disaster recovery mechanism.

XVM

A Talon XVM is a runtime deployment container for Talon AEP Engines (microservices). It provides deployment management capabilities for the engines (microservices) that it contains. Key features include:

  • Lifecycle management of engines and applications (message and event handlers).

  • Alerting and Lifecycle Event emission.

  • Collection and publication of system, platform and application level telemetry.

  • Remote command and control of XVMs, engines and applications.

Discovery

Talon uses a soft state distributed protocol for discovery of Talon runtime components. Although a generic capability, its primary use is the discovery of AEP engines for cluster formation and XVMs for telemetry connections.

Last updated