blob: 6dc913e9a71332e72da466155fd42a48f5b52f52 [file] [log] [blame]
<!--
▄▄▄ ██▓███ ▄▄▄ ▄████▄ ██░ ██ ▓█████ ██▓ ▄████ ███▄ █ ██▓▄▄▄█████▓▓█████
▒████▄ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓██░ ██▒▓█ ▀ ▓██▒ ██▒ ▀█▒ ██ ▀█ █ ▓██▒▓ ██▒ ▓▒▓█ ▀
▒██ ▀█▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒██▀▀██░▒███ ▒██▒▒██░▄▄▄░▓██ ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█ ▄ ░██░░▓█ ██▓▓██▒ ▐▌██▒░██░░ ▓██▓ ░ ▒▓█ ▄
▓█ ▓██▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒ ░██░░▒▓███▀▒▒██░ ▓██░░██░ ▒██▒ ░ ░▒████▒
▒▒ ▓▒█░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░ ▒ ░░▒░▒░░ ▒░ ░ ░▓ ░▒ ▒ ░ ▒░ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░
▒ ▒▒ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ▒ ░▒░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░ ░ ░ ░ ░
░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░
░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
-->
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/arch/clustering.html" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<title>Deploy Anywhere - Apache Ignite</title>
<meta name="description"
content="Apache Ignite implements the shared-nothing architecture when all the cluster nodes are equal
and there is no single point of failure or bottleneck. You can run Apache Ignite on bare metal, virtual
machines, Docker, Kubernetes, and cloud environments."/>
<!--#include virtual="/includes/styles.html" -->
<!--#include virtual="/includes/sh.html" -->
</head>
<body>
<div id="wrapper">
<!--#include virtual="/includes/header.html" -->
<main id="main" role="main" class="container">
<section id="deployment-options" class="page-section">
<h1 class="first">Deploy Anywhere</h1>
<div class="col-sm-12 col-md-12 col-xs-12" style="padding-left:0; padding-right:0;">
<div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0;">
<p>
Apache Ignite implements the shared-nothing architecture when all the cluster nodes are equal
and there is no single point of failure or bottleneck.
Ignite does NOT have a component such as a master node or name node that presents in many
distributed systems.
</p>
<p>
Ignite nodes discover each automatically in your environment, and the cluster can be scaled out or in easily.
</p>
<p>
Apache Ignite can run on bare metal, virtual machines, Docker, Kubernetes, and cloud
environments. Technically there are no limitations in regards to deployment environments --
as long as the nodes can auto-discover each other via the TCP/IP interface, the cluster can be
launched anywhere.
</p>
</div>
<div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0;">
<img class="img-responsive" src="/images/ignite-deploy.png" width="540px" style="float:right;"/>
</div>
</div>&nbsp;
<div class="page-heading">Servers, Clients and Protocols</div>
<p>
Ignite defines two types of nodes — servers and clients.
A server node is the base computational and data storage unit. Typically, you start a single server
node per machine or container and it will scale vertically by utilizing all of the CPU, RAM, and other
resources available unless specified differently. Those resources are pooled and become available to
Ignite applications once the server node joins a cluster of other server nodes.
</p>
<p>
A cluster is a group of server nodes interconnected together in order to provide shared resources
like RAM and CPU to your applications.
</p>
<p>
Client nodes (aka. thick clients) are your connection endpoints and gateways from the application layer
to the cluster of server nodes. You always embed a client into your application code and execute
required APIs. The clients shield all the complexity of Ignite’s distributed nature from application
developers who will see the cluster as a single unit. It’s as simple as connecting to an RDBMS via a
JDBC driver or Spring Data framework.
</p>
<p>
In addition to the thick clients nodes, you can access the cluster with Ignite thin clients,
JDBC and ODBC drivers, or REST API.
</p>
<div class="page-heading">Learn More</div>
<p>
<a href="https://apacheignite.readme.io/docs/clustering" target="docs">
<b>Ignite Clustering Documentation <i class="fa fa-angle-double-right"></i></b>
</a>
</p>
<p>
<a href="https://apacheignite.readme.io/docs/tcpip-discovery" target="docs">
<b>Discovery SPI Configuration <i class="fa fa-angle-double-right"></i></b>
</a>
</p>
<p>
<a href="https://apacheignite.readme.io/docs/network-config" target="docs">
<b>Communication SPI Configuration <i class="fa fa-angle-double-right"></i></b>
</a>
</p>
<p>
<a href="/features/multilanguage.html">
<b>Multi-Language Support <i class="fa fa-angle-double-right"></i></b>
</a>
</p>
</section>
</main>
<!--#include virtual="/includes/footer.html" -->
</div>
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>