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

Next generation of clustering and caching infrastructure

By bawu

Next generation of clustering and caching infrastructure

  • 17