Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Getting Started With Apache Ignite (Part 6)

DZone's Guide to

Getting Started With Apache Ignite (Part 6)

The Apache Ignite Service Grid supports a number of powerful features and is fully integrated with the other components. Read on the learn more about it.

· Big Data Zone
Free Resource

Free O'Reilly eBook: Learn how to architect always-on apps that scale. Brought to you by Mesosphere DC/OS–the premier platform for containers and big data.

Before starting, be sure to check out Part 1, Part 2, Part 3, Part 4, and Part 5!

The Apache Ignite Service Grid will be the subject of this article in this blog series.

Service Grid

The main feature of the Apache Ignite Service Grid is to deploy services onto a cluster with availability and fault-tolerance. A counter or an ID generator would be simple examples of services.

A major use case for the Service Grid is to deploy a Singleton. There are a number of different types of Singletons that Apache Ignite supports but two common types — Node Singleton and Cluster Singleton — are shown in Figure 1.

Figure 1. Node Singleton and Cluster Singleton

Figure 1: Node Singleton and Cluster Singleton

A Node Singleton is where a service runs on every node in the cluster. A Cluster Singleton is guaranteed to have only one cluster-wide instance of a service. If the server crashes on which the Cluster Singleton is deployed, the service will be automatically re-deployed onto another server. Another type of Singleton is a Key Singleton, where a service is attached to a key. If the key is moved within a cluster, the service will move with the key.

We can think of a Singleton as an edge-case and Apache Ignite actually provides more flexibility with services. For example, if more than one instance of a service needs to run, Apache Ignite will manage and run the required number of services.

A service may or may not have an interface. For example, an actual customer use-case was to deploy a Data Grid in AWS. The Data Grid required a one-time initialization with data loaded from an external source. The Data Grid had to wait until the initialization process was complete. Once the data were loaded, they were cached and available to the entire cluster. The requirement for the initialization was that a single node in the cluster, an example of a Cluster Singleton, performed the loading process. In this particular case, the service performed without any interface.

Increasingly, microservices architectures have become quite popular in recent years. Apache Ignite's Service Grid can form the foundation for a microservices architecture. For example, my colleague Dani Traphagen presented a session titled Apache Ignite Service Grid: Foundation of Your Microservices-based Solution at the In-Memory Computing Summit (IMCS) 2017 in Amsterdam.

Summary

The Apache Ignite Service Grid supports a number of powerful features and is fully integrated with the other components. It can also form the foundation for a modern microservices architecture.

Next time, we'll discuss the new Apache Ignite Machine Learning Grid.

Easily deploy & scale your data pipelines in clicks. Run Spark, Kafka, Cassandra + more on shared infrastructure and blow away your data silos. Learn how with Mesosphere DC/OS.

Topics:
apache ignite ,big data ,tutorial ,service grid

Published at DZone with permission of Akmal Chaudhri. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}