Author: dsetrakyan
Date: Thu Mar  5 02:07:22 2015
New Revision: 1664201

URL: http://svn.apache.org/r1664201
Log:
clustering example

Modified:
    incubator/ignite/site/trunk/features.html

Modified: incubator/ignite/site/trunk/features.html
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/features.html?rev=1664201&r1=1664200&r2=1664201&view=diff
==============================================================================
--- incubator/ignite/site/trunk/features.html (original)
+++ incubator/ignite/site/trunk/features.html Thu Mar  5 02:07:22 2015
@@ -527,8 +527,9 @@ under the License.
                 <div class="examples-heading">Examples:</div>
                 <!-- Nav tabs -->
                 <ul id="clustering-examples" class="nav nav-tabs">
-                    <li class="active"><a href="#clustering-example-broadcast" 
aria-controls="home" data-toggle="tab">Broadcast</a></li>
-                    <li><a href="#clustering-example-unicast" 
aria-controls="profile" data-toggle="tab">Unicast</a></li>
+                    <li class="active"><a href="#clustering-example-remotes" 
aria-controls="home" data-toggle="tab">Remote Cluster Group</a></li>
+                    <li><a href="#clustering-example-random" 
aria-controls="profile" data-toggle="tab">Random Cluster Group</a></li>
+                    <li><a href="#clustering-example-custom" 
aria-controls="profile" data-toggle="tab">Custom Cluster Group</a></li>
                 </ul>
 
                 <!-- Tab panes -->
@@ -539,43 +540,49 @@ under the License.
 
                             IgniteCluster cluster = ignite.cluster();
 
-                            // Get compute instance which will only execute
-                            // over remote nodes, i.e. not this node.
-                            IgniteCompute compute = 
ignite.compute(cluster.forRemotes());
+                            // Cluster group containing all remote nodes, i.e. 
not this node.
+                            ClusterGroup remotes = cluster.forRemotes();
+
+                            // Get compute instance which will only execute 
over remote nodes.
+                            IgniteCompute compute = ignite.compute(remotes);
 
                             // Broadcast to all remote nodes and print the ID 
of the node 
                             // on which this closure is executing.
-                            compute.broadcast(() -> System.out.println("Hello 
Node: " + ignite.cluster().localNode().id());
+                            compute.broadcast(() -> System.out.println("Hello 
Node: " + cluster.localNode().id());
                         </pre>
                     </div>
 
-                    <div class="tab-pane" id="clustering-example-unicast">
-                        <br/>
-                        <p>
-                            Unicast message to a node in the cluster.
-                        </p>
+                    <div class="tab-pane" id="clustering-example-random">
                         <pre class="brush:java">
+                            Ignite ignite = Ignition.ignite();
+
+                            IgniteCluster cluster = ignite.cluster();
+
+                            // Cluster group containing random remote node.
+                            ClusterGroup random = 
cluster.forRemotes().forRandom();
+
+                            // Get compute instance over a random remote node.
+                            IgniteCompute compute = ignite.compute(random);
+
+                            // Send closure to the random node and print its 
ID.
+                            compute.run(() -> System.out.println("Hello Node: 
" + cluster.localNode().id());
+                        </pre>
+                    </div>
 
+                    <div class="tab-pane" id="clustering-example-custom">
+                        <pre class="brush:java">
                             Ignite ignite = Ignition.ignite();
 
-                            // Create runnable job.
-                            IgniteRunnable r = new IgniteRunnable() {
-                                @Override
-                                public void run() {
-                                    System.out.println("Hello World");
-                                }
-                            };
-
-                            // Unicast to some random node picked by load 
balancer.
-                            
ignite.compute(ignite.cluster().forRandom()).run(r);
-
-                            // Unicast to some node with CPU load less than 
50%.
-                            ignite.compute(ignite.cluster().forPredicate(new 
IgnitePredicate&lt;ClusterNode&gt;() {
-                                @Override
-                                public boolean apply(ClusterNode n) {
-                                    return n.metrics().getCurrentCpuLoad() 
<0.5;
-                                }
-                            })).run(r);
+                            IgniteCluster cluster = ignite.cluster();
+
+                            // Dynamic cluster group over nodes loaded less 
than 50%.
+                            ClusterGroup cpuNodes = cluster.forPredicate(node 
-> node.metrics().getCurrentCpuLoad() < 0.5);
+
+                            // Get compute instance over nodes loaded less 
than 50%.
+                            IgniteCompute compute = ignite.compute(cpuNodes);
+
+                            // Send closure to one of the CPU nodes.
+                            compute.run(() -> System.out.println("Hello Node: 
" + cluster.localNode().id());
                         </pre>
                     </div>
                 </div>


Reply via email to