| // 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 KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| = Clustering |
| |
| == Overview |
| |
| In this chapter, we discuss different ways nodes can discover each other to form a cluster. |
| |
| On start-up, a node is assigned either one of the two roles: _server node_ or _client node_. |
| Server nodes are the workhorses of the cluster; they cache data, execute compute tasks, etc. |
| Client nodes join the topology as regular nodes but they do not store data. Client nodes are used to stream data into the cluster and execute user queries. |
| |
| To form a cluster, each node must be able to connect to all other nodes. To ensure that, a proper <<Discovery Mechanisms,discovery mechanism>> must be configured. |
| |
| |
| NOTE: In addition to client nodes, you can use Thin Clients to define and manipulate data in the cluster. |
| Learn more about the thin clients in the link:thin-clients/getting-started-with-thin-clients[Thin Clients] section. |
| |
| |
| image::images/ignite_clustering.png[Ignite Cluster] |
| |
| |
| |
| == Discovery Mechanisms |
| |
| Nodes can automatically discover each other and form a cluster. |
| This allows you to scale out when needed without having to restart the whole cluster. |
| Developers can also leverage Ignite's hybrid cloud support that allows establishing connection between private and public clouds such as Amazon Web Services, providing them with the best of both worlds. |
| |
| Ignite provides two implementations of the discovery mechanism intended for different usage scenarios: |
| |
| * link:clustering/tcp-ip-discovery[TCP/IP Discovery] is designed and optimized for 100s of nodes. |
| * link:clustering/zookeeper-discovery[ZooKeeper Discovery] that allows scaling Ignite clusters to 100s and 1000s of nodes preserving linear scalability and performance. |
| |
| |
| |
| |
| |
| |