The Apache Ignite book (The Book with code samples)
This book is 80% complete
Last updated on 2018-11-05
About the Book
From the Ignite 2.0 version, the whole memory architecture of the platform was redesigned, and the Ignite team brings new features and improvements in the subsequent releases. So, it was essential to release a new book regarding to the Ignite 2.x version (the book covers 2.6 version and above).
This book is broken down into ten chapters. Most of them (9 out of 10 chapters) in this book are writing from scratch.
What you will learn:
- Apache Ignite architecture in depth such as data distributing technics (DHT), Rendezvous hashing, memory architecture, various topology and caching strategies.
- Apache Ignite use cases as a memory-centric distributed database, caching and computing platforms.
- Caching strategies and how to use Apache Ignite to improve the performance of the application.
- Using JPA (Spring Data and Hibernate OGM) with Apache Ignite for developing high-performance web applications.
- Ignite query (SQL, API, Text and Scan queries) capabilities in depth.
- How to accelerates the performance of your existing Hadoop ecosystem without changing any code.
- How to use Spark RDD and Data frames for improving performance on processing fast data.
- How to develop Hybrid Transaction and Processing (HTAP) class systems based on Apache Ignite.
- Developing distributed Microservices in fault-tolerant fashion.
- Processing events & streaming data for IoT projects, integrate Apache Ignite with other frameworks like Kafka, Storm, Camel, etc.
- Configuring, management and monitoring Ignite cluster with built-in and 3rd party tools.
The book covers Ignite version 2.6.0 and above. For every topic, a complete application is delivered, which will help the audience to quick start with the topic. The book is a project-based guide, where each chapter focuses on the complete implementation of a real-world scenario, the commonly occurring challenges in each scenario have also discussed, along with tips and tricks and best practices on how to overcome them.
This book is a lean publishing book. You buy once, and you will receive free updates every time the next version is published. When the book is completed an old-fashioned paperback version of the book will be published.
We need your feedback!
This book is in progress. We would like to hear what you think, what you like or dislike about the content of the book. Your feedback will help us to write a better book and help others to clear all the concepts.
To submit your feedback, please use the feedback link below. Thank'x in advance.
Target audience of this book will be IT architect, team leaders, a programmer with minimum programming knowledge, who want to get the maximum performance from their applications.
No excessive knowledge is required, though it would be good to be familiar with Java, Spring framework and tools like Maven. The book is also useful for any reader, who already familiar with Oracle Coherence, Hazelcast, Infinispan or Memcached.
If you are not sure if this book is for you, I suggest you read the sample chapter of the book. The sample chapter is available in different formats including HTML. Anyway, I encourage you to try it out, and if you don't like the book, you can always ask a 100% refund within 45 days. Happy reading!
Source code of the book available at GitHub
Learn more about Apache Ignite at: http://frommyworkshop.blogspot.com & follow on twitter @shamim_ru
The Book with code samples
Pack of 3 copies for a team
- About the authors
- Chapter 1. Introduction
Chapter 2. Getting started with Apache Ignite
Installing and setting up Apache Ignite
- Building from source code
- Run multiple instances of Apache Ignite in a single host
- Running Apache Ignite from Docker
- Using Apache Ignite SQLLINE command tool
- Meet with Apache Ignite SQL engine: H2 database
- Using a universal SQL client IDE to work with Apache Ignite
- First Java application
- Apache Ignite thin client
- Using REST API for manipulating the Apache Ignite caches
- Configure a multimode cluster in different hosts
- A simple checklist for beginners
- What’s next
- Installing and setting up Apache Ignite
Chapter 3. Apache Ignite use cases
- Caching for fast data access
- High-volume transaction processing
- Fast data processing
- Lambda architecture
- Resilient web acceleration
- Microservices in distributed fashion
- Cache as a service
- Big Data accelerations
- In-memory machine learning
- In-memory geospatial
- Cluster management
- What’s next
Chapter 4. Architecture deep dive
- Functional overview
Understanding the cluster topology: shared nothing architecture
- Client and server node
- Embedded with the application
- Client and the server nodes in the same host
- Running multiple nodes within single JVM
- Real cluster topology
Data partitioning in Ignite
- Understanding data distribution: DHT
- Rendezvous hashing
- Master-Slave replication
- Peer-to-peer replication
- Partitioned mode
- Replicated mode
- Local mode
- Near cache
- Partition loss policies
- Cache a-side
- Read through and write through
- Write behind
- Ignite data model
- CAP theorem and where does Ignite stand in?
- Apache Ignite life cycle
- Memory-Centric storage
Durable memory architecture
- Data Page
- Index pages and B+ trees
- Data eviction
- Data expiration
- Ignite read/write path
- Write-Ahead-Log (WAL)
- Automatic cluster activation
- Split-brain protection
- Fast rebalancing and it’s pitfalls
- Tool to control baseline topology
- Automate the rebalancing
Discovery and communication mechanisms
- Predefined cluster group
- Cluster group with node attributes
- Custom cluster group
- Data collocation
- Compute collocation with data
- Protocols and clients
Resilience & Automatic failover
- Ignite client node
- Ignite thin client
- JDBC client
- Ignite Rest client
- Multi data center replication
- Key API’s
Chapter 5. Intelligent caching
- Caching best practices
- Design patterns
- Basic terms
- Hibernate caching
- MyBatis caching
Web session clustering
- Classic solution 1: using a sticky session
- Classic solution 2: store sessions in DB
- Classic solution 3: use only stateless service
- Distributed web session clustering
- Prepare the caches correctly
- What’s next
- Smart caching
Chapter 6. Database (in progress)
- Ignite tables & indexes configuration
- SQL queries
- Collocated distributed Joins (TBD)
- Non-collocated distributed joins (TBD)
- Spring Data integration (in progress)
Chapter 7. Distributed computing
- Distributed Closures
- MapReduce and Fork-join
- Per-Node share state
- Distributed task session
- Fault tolerance and checkpointing
- Collocation of computation and data
- Job scheduling
- Developing services
- Cluster singleton
- Service management and configuration
- Developing microservices in Ignite
- What’s next
- Compute grid
Chapter 8. Streaming and complex event processing
- Direct Ingestion
- Mediated Ingestion
- Flume sink
- Storm streamer
- What’s next
- Kafka Streamer
Chapter 9. Accelerating BigData computing (in progress)
Ignite for Apache Spark
- Apache Spark – a short history
- Ignite RDD
- Ignite DataFrame
- Ignite for Apache Spark
Chapter 10. Management and monitoring (in progress)
Managing Ignite cluster
- Configuring Zookeeper discovery
- Monitoring Ignite cluster
- Managing Ignite cluster
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...