Clustering and caching infrastructure based on Ignite

Agenda

  • High level architecture
  • Ignite wrapper
  • Key changes in Cube Manager
  • Demo

High level architecture

  • Ignite overview
  • Cluster architecture with Ignite
  • Cube sync flow change

What is Apache Ignite

Apache Ignite™ is ...
memory-centric distributed database, caching, and processing platform
for transactional, analytical, and streaming workloads
delivering in-memory speeds at petabyte scale

Supported features

Hierarchical Architecture

Ignite Clustering

  • Server nodes
    • Act as containers for data and computations
    • Generally started as standalone processes
  • Client nodes
    • Provide a cluster entry point to run operations
    • Embedded in applications code

Deployment

  • Nodes are logical entities
    • Runs in a JVM process
    • Many nodes in a single JVM process
  • On-Premise and Cloud
    • Physical server or VM
    • AWS, Azure, Google Compute Engine
  • Docker

GridGain

Professional

Enterprise

Ultimate Edition

Apache® Ignite™ Features

Security Updates

Maintenance Releases & Fixes

Management Tool

Network Segmentation Protection

Enterprise Grade Security

Rolling Production Upgrades

Data Center Replication

GoldenGate Integration

Cluster Snapshots

Snapshots Management Tool

Ignite v.s. Redis

  • For read, Ignite is generally better than Redis
  • For write, 
    • By default, Ignite is sill better than Redis
    • When the cache is configured with more backups, Ignite can be worse than Redis

Cluster architecture with Ignite

Cube sync flow change

Ignite wrapper

  • Selectively expose the Ignite's functionality
  • Serve as singleton in the server process
  • Hide Ignite from the application logic
  • Functionalities exposed so far:
    • <K, V> store
    • Transactions
    • Continuous-query

Key changes in Cube Manager

  • New cube manager derived from existing cube manager 
  • States are now centralized
  • Local/remote distinction is removed

Cube Manager

New Cube Manager

The big cube load work flow

Current workflow with ClusterManager

New workflow with Ignite

Demo

Made with Slides.com