Book Image

Apache Ignite Quick Start Guide

By : Sujoy Acharya
Book Image

Apache Ignite Quick Start Guide

By: Sujoy Acharya

Overview of this book

Apache Ignite is a distributed in-memory platform designed to scale and process large volume of data. It can be integrated with microservices as well as monolithic systems, and can be used as a scalable, highly available and performant deployment platform for microservices. This book will teach you to use Apache Ignite for building a high-performance, scalable, highly available system architecture with data integrity. The book takes you through the basics of Apache Ignite and in-memory technologies. You will learn about installation and clustering Ignite nodes, caching topologies, and various caching strategies, such as cache aside, read and write through, and write behind. Next, you will delve into detailed aspects of Ignite’s data grid: web session clustering and querying data. You will learn how to process large volumes of data using compute grid and Ignite’s map-reduce and executor service. You will learn about the memory architecture of Apache Ignite and monitoring memory and caches. You will use Ignite for complex event processing, event streaming, and the time-series predictions of opportunities and threats. Additionally, you will go through off-heap and on-heap caching, swapping, and native and Spring framework integration with Apache Ignite. By the end of this book, you will be confident with all the features of Apache Ignite 2.x that can be used to build a high-performance system architecture.
Table of Contents (9 chapters)

What this book covers

Chapter 1, Getting Familiar with Apache Ignite, explains why Apache Ignite is important and how adding a new tool to your tech toolbox can help solve different problems. You will also get to look into various rich features of Apache Ignite, explore Apache Ignite use cases, and understand refactored traditional architecture building blocks using Apache Ignite support.

Chapter 2, Understanding the Topologies and Caching Strategies, looks at Apache Ignite clustering, caching topology, and caching strategies. This chapter also explores the caching modes for distributing data. This chapter will gets into local, partitioned, and replicated caching modes, and how scalability, availability, and read/write performance can be tuned using the caching modes.

Chapter 3, Working with Data Grids, covers Apache Ignite data grid concepts. You'll start with the JSR 107 specification, learning about cache configuration, cache events, listeners, and filters. You will also explore how Hibernate L2 cache can be stored in Apache Ignite in order to improve application performance. This chapter also explores web session clustering with Apache Ignite.

Chapter 4, Exploring Compute Grid and the Query API, covers two important components of Apache Ignite architecture: Apache Ignite Query API and distributed computing using Apache Ignite Compute Grid. This chapter concludes with Compute Grid and distributed computation using the following APIs: MapReduce and ForkJoin, ExecutorService, job scheduling APIs.

Chapter 5, Building Microservices with Service Grid, explains the concepts of service grid and microservices deployment with Apache Ignite. You will also look into the core service grid APIs, the Service and IgniteServices interfaces, and how a service can be defined, deployed, and canceled. This chapter also covers complex event processing, event data streaming APIs, and continuous queries.

Chapter 6, Sharpening Ignite Skills, will cover the art of building an ACID-compliant, high-performance, scalable, and highly available system. You will also learn about the need for data persistence and how to persist data to a commonly used RDBMS or NoSQL datastore, such as MySQL or Cassandra.

Chapter 7, Deploying to Production, covers the nitty-gritty of fine-tuning our Apache Ignite application for production deployment. You will also explore the various features and use cases of Apache Ignite. This chapter will also take you through Apache Ignite, in-memory technologies, the installation and clustering of Ignite nodes, caching topologies, and various caching strategies.