Modified: helix/site-content/Concepts.html URL: http://svn.apache.org/viewvc/helix/site-content/Concepts.html?rev=1900177&r1=1900176&r2=1900177&view=diff ============================================================================== --- helix/site-content/Concepts.html (original) +++ helix/site-content/Concepts.html Sat Apr 23 01:14:12 2022 @@ -1,283 +1,356 @@ - <!DOCTYPE html> -<!-- - Generated by Apache Maven Doxia at 2022-04-23 - Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin) ---> -<html xml:lang="en" lang="en"> - <head> - <meta charset="UTF-8" /> - <title>Apache Helix – Concepts</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="description" content="" /> - <meta http-equiv="content-language" content="en" /> - - <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" /> - <link href="./css/docs.css" rel="stylesheet" /> - <link href="./css/reflow-skin.css" rel="stylesheet" /> - - - <link href="./css/lightbox.css" rel="stylesheet" /> - - <link href="./css/site.css" rel="stylesheet" /> - <link href="./css/print.css" rel="stylesheet" media="print" /> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - - - </head> - - <body class="page-$config.fileId project-$config.projectId" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> - - <div class="navbar navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </a> - <div class="nav-collapse collapse" id="top-nav-collapse"> - <ul class="nav pull-right"> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Learn <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Core Concepts">Core Concepts</a></li> - <li class="active"><a href="" title="Architecture">Architecture</a></li> - <li class="active"><a href="" title="Publications">Publications</a></li> - <li class="active"><a href="" title="Client Libraries">Client Libraries</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="1.0.3">1.0.3</a></li> - <li class="active"><a href="" title="1.0.2">1.0.2</a></li> - <li class="active"><a href="" title="0.9.10 (0.9.9)">0.9.10 (0.9.9)</a></li> - <li class="active"><a href="" title="trunk">trunk</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Helix 1.0.3 <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Documentation">Documentation</a></li> - <li class="active"><a href="" title="Quick Start">Quick Start</a></li> - <li class="active"><a href="" title="Tutorial">Tutorial</a></li> - <li class="active"><a href="" title="Download">Download</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Helix 0.9.10 (0.9.9) <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Documentation">Documentation</a></li> - <li class="active"><a href="" title="Quick Start">Quick Start</a></li> - <li class="active"><a href="" title="Tutorial">Tutorial</a></li> - <li class="active"><a href="" title="Download">Download</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="IRC">IRC</a></li> - <li class="active"><a href="" title="Mailing Lists">Mailing Lists</a></li> - <li class="active"><a href="" title="Issues">Issues</a></li> - <li class="active"><a href="" title="Team">Team</a></li> - <li class="active"><a href="" title="Sources">Sources</a></li> - <li class="active"><a href="" title="Continuous Integration">Continuous Integration</a></li> - <li class="active"><a href="" title="Building Guide">Building Guide</a></li> - <li class="active"><a href="" title="Release Guide">Release Guide</a></li> - <li class="active"><a href="" title="Improve this Website">Improve this Website</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="ASF Home">ASF Home</a></li> - <li class="active"><a href="" title="License">License</a></li> - <li class="active"><a href="" title="Sponsorship">Sponsorship</a></li> - <li class="active"><a href="" title="Thanks">Thanks</a></li> - <li class="active"><a href="" title="Security">Security</a></li> - </ul> - </li> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - </div> - - <div class="container"> - - <!-- Masthead - ================================================== --> - - <header> - <div class="jumbotron subhead"> - <div class="row" id="banner"> - <div class="span12"> - <div class="pull-left"> - <a href="" id="bannerLeft"><img src="" alt='"''"' /></a> - </div> - <div class="pull-right"> - <a href="http://www.apache.org/" id="bannerRight"><img src="" alt='"''"' /></a> - </div> - </div> - </div> - </div> - <div> - <ul class="breadcrumb"> - <li><a href="" title="Apache Helix">Apache Helix</a></li> - <li class="divider">/</li> - <li>Concepts</li> - </ul> - </div> - </header> - - <div class="main-body"> - <div class="row"> - <div class="span12"> - <div class="body-content"> -$bodyWithHeader - </div> - </div> - </div> - </div> - - </div><!-- /container --> - - <!-- Footer - ================================================== --> - <footer class="well"> - <div class="container"> - <div class="row"> - <div class="span9 bottom-nav"> - <ul class="nav nav-list"> - <li class="nav-header">Learn</li> - <li class="active"> - <a href="#" title="Core Concepts">Core Concepts</a> - </li> - <li class="active"> - <a href="#" title="Architecture">Architecture</a> - </li> - <li class="active"> - <a href="#" title="Publications">Publications</a> - </li> - <li class="active"> - <a href="#" title="Client Libraries">Client Libraries</a> - </li> - <li class="nav-header">Documentation</li> - <li class="active"> - <a href="#" title="1.0.3">1.0.3</a> - </li> - <li class="active"> - <a href="#" title="1.0.2">1.0.2</a> - </li> - <li class="active"> - <a href="#" title="0.9.10 (0.9.9)">0.9.10 (0.9.9)</a> - </li> - <li class="active"> - <a href="#" title="trunk">trunk</a> - </li> - <li class="nav-header">Helix 1.0.3</li> - <li class="active"> - <a href="#" title="Documentation">Documentation</a> - </li> - <li class="active"> - <a href="#" title="Quick Start">Quick Start</a> - </li> - <li class="active"> - <a href="#" title="Tutorial">Tutorial</a> - </li> - <li class="active"> - <a href="#" title="Download">Download</a> - </li> - <li class="nav-header">Helix 0.9.10 (0.9.9)</li> - <li class="active"> - <a href="#" title="Documentation">Documentation</a> - </li> - <li class="active"> - <a href="#" title="Quick Start">Quick Start</a> - </li> - <li class="active"> - <a href="#" title="Tutorial">Tutorial</a> - </li> - <li class="active"> - <a href="#" title="Download">Download</a> - </li> - <li class="nav-header">Get Involved</li> - <li class="active"> - <a href="#" title="IRC">IRC</a> - </li> - <li class="active"> - <a href="#" title="Mailing Lists">Mailing Lists</a> - </li> - <li class="active"> - <a href="#" title="Issues">Issues</a> - </li> - <li class="active"> - <a href="#" title="Team">Team</a> - </li> - <li class="active"> - <a href="#" title="Sources">Sources</a> - </li> - <li class="active"> - <a href="#" title="Continuous Integration">Continuous Integration</a> - </li> - <li class="active"> - <a href="#" title="Building Guide">Building Guide</a> - </li> - <li class="active"> - <a href="#" title="Release Guide">Release Guide</a> - </li> - <li class="active"> - <a href="#" title="Improve this Website">Improve this Website</a> - </li> - <li class="nav-header">ASF</li> - <li class="active"> - <a href="#" title="ASF Home">ASF Home</a> - </li> - <li class="active"> - <a href="#" title="License">License</a> - </li> - <li class="active"> - <a href="#" title="Sponsorship">Sponsorship</a> - </li> - <li class="active"> - <a href="#" title="Thanks">Thanks</a> - </li> - <li class="active"> - <a href="#" title="Security">Security</a> - </li> - </ul> - </div> - </div> - </div> - </footer> - - <div class="container subfooter"> - <div class="row"> - <div class="span12"> - <p class="pull-right"><a href="#">Back to top</a></p> - <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="http://github.com/andriusvelykis/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="http://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> - </div> - </div> - </div> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> - - <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> - <script src="./js/lightbox.min.js"></script> - <script src="./js/reflow-scroll.js"></script> - <script src="./js/reflow-skin.js"></script> +<!-- + | Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/markdown/Concepts.md at 2022-04-23 + | Rendered using Apache Maven Fluido Skin 1.11.0-SNAPSHOT +--> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" /> + <title>Apache Helix – Concepts</title> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.0-SNAPSHOT.min.css" /> + <link rel="stylesheet" href="./css/site.css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + <script src="./js/apache-maven-fluido-1.11.0-SNAPSHOT.min.js"></script> +<script type="text/javascript"> + + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-3211522-12']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + + </script> + </head> + <body class="topBarDisabled"> + <div class="container-fluid"> + <header> + <div id="banner"> + <div class="pull-left"><a href="https://helix.apache.org/" id="bannerLeft"><img src="images/helix-logo.jpg" alt=""/></a></div> + <div class="pull-right"><a href="https://www.apache.org/" id="bannerRight"><img src="images/feather_small.gif" alt=""/></a></div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + <li class=""><a href="./" title="Apache Helix">Apache Helix</a><span class="divider">/</span></li> + <li class="active ">Concepts</li> + </ul> + </div> + </header> + <div class="row-fluid"> + <header id="leftColumn" class="span2"> + <nav class="well sidebar-nav"> + <ul class="nav nav-list"> + <li class="nav-header">Learn</li> + <li class="active"><a href="#"><span class="none"></span>Core Concepts</a></li> + <li><a href="Architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li> + <li><a href="Publications.html" title="Publications"><span class="none"></span>Publications</a></li> + <li><a href="ClientLibraries.html" title="Client Libraries"><span class="none"></span>Client Libraries</a></li> + <li class="nav-header">Documentation</li> + <li><a href="1.0.3-docs/index.html" title="1.0.3"><span class="none"></span>1.0.3</a></li> + <li><a href="1.0.2-docs/index.html" title="1.0.2"><span class="none"></span>1.0.2</a></li> + <li><a href="0.9.9-docs/index.html" title="0.9.10 (0.9.9)"><span class="none"></span>0.9.10 (0.9.9)</a></li> + <li><a href="trunk-docs/index.html" title="trunk"><span class="none"></span>trunk</a></li> + <li class="nav-header">Helix 1.0.3</li> + <li><a href="1.0.3-docs/index.html" title="Documentation"><span class="none"></span>Documentation</a></li> + <li><a href="1.0.3-docs/Quickstart.html" title="Quick Start"><span class="none"></span>Quick Start</a></li> + <li><a href="1.0.3-docs/Tutorial.html" title="Tutorial"><span class="none"></span>Tutorial</a></li> + <li><a href="1.0.3-docs/download.html" title="Download"><span class="none"></span>Download</a></li> + <li class="nav-header">Helix 0.9.10 (0.9.9)</li> + <li><a href="0.9.9-docs/index.html" title="Documentation"><span class="none"></span>Documentation</a></li> + <li><a href="0.9.9-docs/Quickstart.html" title="Quick Start"><span class="none"></span>Quick Start</a></li> + <li><a href="0.9.9-docs/Tutorial.html" title="Tutorial"><span class="none"></span>Tutorial</a></li> + <li><a href="0.9.9-docs/download.html" title="Download"><span class="none"></span>Download</a></li> + <li class="nav-header">Get Involved</li> + <li><a href="IRC.html" title="IRC"><span class="none"></span>IRC</a></li> + <li><a href="mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li> + <li><a href="issue-tracking.html" title="Issues"><span class="none"></span>Issues</a></li> + <li><a href="team-list.html" title="Team"><span class="none"></span>Team</a></li> + <li><a href="sources.html" title="Sources"><span class="none"></span>Sources</a></li> + <li><a href="integration.html" title="Continuous Integration"><span class="none"></span>Continuous Integration</a></li> + <li><a href="involved/building.html" title="Building Guide"><span class="none"></span>Building Guide</a></li> + <li><a href="releasing.html" title="Release Guide"><span class="none"></span>Release Guide</a></li> + <li><a href="involved/contribdocs.html" title="Improve this Website"><span class="none"></span>Improve this Website</a></li> + <li class="nav-header">ASF</li> + <li><a href="http://www.apache.org/" class="externalLink" title="ASF Home"><span class="none"></span>ASF Home</a></li> + <li><a href="http://www.apache.org/licenses/" class="externalLink" title="License"><span class="none"></span>License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li> + <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a></li> + </ul> + </nav> + <div class="well sidebar-nav"> + <hr /> + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> +<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> + </div> + </div> + </header> + <main id="bodyColumn" class="span10" > +<!--- +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. +--> - </body> +<section> +<h2><a name="Concepts"></a>Concepts</h2> +<p>Helix is based on the idea that a given task has the following attributes associated with it:</p> +<ul> + +<li><b>Location</b>, e.g. it is available on Node N1</li> +<li><b>State</b>, e.g. it is running, stopped etc.</li> +</ul> +<p>In Helix terminology, a task is referred to as a <b>resource</b>.</p><section> +<h3><a name="Ideal_State"></a>Ideal State</h3> +<p>An <b>IdealState</b> allows one to map tasks to location and state. A standard way of expressing this in Helix is as follows:</p> + +<div class="source"><pre class="prettyprint"><code>"TASK_NAME" : { + "LOCATION" : "STATE" +} +</code></pre></div> +<p>Consider a simple case where you want to launch a resource "myTask" on node "N1". The IdealState for this can be expressed as follows:</p> + +<div class="source"><pre class="prettyprint"><code>{ + "id" : "MyTask", + "mapFields" : { + "myTask" : { + "N1" : "ONLINE", + } + } +} +</code></pre></div></section><section> +<h3><a name="Partition"></a>Partition</h3> +<p>If this task get too big to fit on one box, you might want to divide it into subtasks. Each subtask is referred to as a <b>partition</b> in Helix. Let's say you want to divide the task into 3 subtasks/partitions, the IdealState can be changed as shown below.</p> +<p>"myTask_0", "myTask_1", "myTask_2" are logical names representing the partitions of myTask. Each tasks runs on N1, N2 and N3 respectively.</p> + +<div class="source"><pre class="prettyprint"><code>{ + "id" : "myTask", + "simpleFields" : { + "NUM_PARTITIONS" : "3", + } + "mapFields" : { + "myTask_0" : { + "N1" : "ONLINE", + }, + "myTask_1" : { + "N2" : "ONLINE", + }, + "myTask_2" : { + "N3" : "ONLINE", + } + } +} +</code></pre></div></section><section> +<h3><a name="Replica"></a>Replica</h3> +<p>Partitioning allows one to split the data/task into multiple subparts. But let's say the request rate for each partition increases. The common solution is to have multiple copies for each partition. Helix refers to the copy of a partition as a <b>replica</b>. Adding a replica also increases the availability of the system during failures. One can see this methodology employed often in search systems. The index is divided into shards, and each shard has multiple copies.</p> +<p>Let's say you want to add one additional replica for each task. The IdealState can simply be changed as shown below.</p> +<p>For increasing the availability of the system, it's better to place the replica of a given partition on different nodes.</p> + +<div class="source"><pre class="prettyprint"><code>{ + "id" : "myIndex", + "simpleFields" : { + "NUM_PARTITIONS" : "3", + "REPLICAS" : "2", + }, + "mapFields" : { + "myIndex_0" : { + "N1" : "ONLINE", + "N2" : "ONLINE" + }, + "myIndex_1" : { + "N2" : "ONLINE", + "N3" : "ONLINE" + }, + "myIndex_2" : { + "N3" : "ONLINE", + "N1" : "ONLINE" + } + } +} +</code></pre></div></section><section> +<h3><a name="State"></a>State</h3> +<p>Now let's take a slightly more complicated scenario where a task represents a database. Unlike an index which is in general read-only, a database supports both reads and writes. Keeping the data consistent among the replicas is crucial in distributed data stores. One commonly applied technique is to assign one replica as the MASTER and remaining replicas as SLAVEs. All writes go to the MASTER and are then replicated to the SLAVE replicas.</p> +<p>Helix allows one to assign different <b>states</b> to each replica. Let's say you have two MySQL instances N1 and N2, where one will serve as MASTER and another as SLAVE. The IdealState can be changed to:</p> + +<div class="source"><pre class="prettyprint"><code>{ + "id" : "myDB", + "simpleFields" : { + "NUM_PARTITIONS" : "1", + "REPLICAS" : "2", + }, + "mapFields" : { + "myDB" : { + "N1" : "MASTER", + "N2" : "SLAVE", + } + } +} +</code></pre></div></section><section> +<h3><a name="State_Machine_and_Transitions"></a>State Machine and Transitions</h3> +<p>The IdealState allows one to exactly specify the desired state of the cluster. Given an IdealState, Helix takes up the responsibility of ensuring that the cluster reaches the IdealState. The Helix <b>controller</b> reads the IdealState and then commands each Participant to take appropriate actions to move from one state to another until it matches the IdealState. These actions are referred to as <b>transitions</b> in Helix.</p> +<p>The next logical question is: how does the controller compute the transitions required to get to IdealState? This is where the <b>finite state machine</b> concept comes in. Helix allows applications to plug in a finite state machine. A state machine consists of the following:</p> +<ul> + +<li><b>State</b>: Describes the role of a replica</li> +<li><b>Transition</b>: An action that allows a replica to move from one state to another, thus changing its role.</li> +</ul> +<p>Here is an example of MasterSlave state machine:</p> + +<div class="source"><pre class="prettyprint"><code> OFFLINE | SLAVE | MASTER + _____________________________ + | | | | +OFFLINE | N/A | SLAVE | SLAVE | + |__________|________|_________| + | | | | +SLAVE | OFFLINE | N/A | MASTER | + |__________|________|_________| + | | | | +MASTER | SLAVE | SLAVE | N/A | + |__________|________|_________| + +</code></pre></div> +<p>Helix allows each resource to be associated with one state machine. This means you can have one resource as an index and another as a database in the same cluster. One can associate each resource with a state machine as follows:</p> + +<div class="source"><pre class="prettyprint"><code>{ + "id" : "myDB", + "simpleFields" : { + "NUM_PARTITIONS" : "1", + "REPLICAS" : "2", + "STATE_MODEL_DEF_REF" : "MasterSlave", + }, + "mapFields" : { + "myDB" : { + "N1" : "MASTER", + "N2" : "SLAVE", + } + } +} + +</code></pre></div></section><section> +<h3><a name="Current_State"></a>Current State</h3> +<p>The <b>CurrentState</b> of a resource simply represents its actual state at a participating node, a <b>participant</b>. In the below example:</p> +<ul> + +<li>INSTANCE_NAME: Unique name representing the process</li> +<li>SESSION_ID: ID that is automatically assigned every time a process joins the cluster</li> +</ul> + +<div class="source"><pre class="prettyprint"><code>{ + "id":"MyResource" + ,"simpleFields":{ + ,"SESSION_ID":"13d0e34675e0002" + ,"INSTANCE_NAME":"node1" + ,"STATE_MODEL_DEF":"MasterSlave" + } + ,"mapFields":{ + "MyResource_0":{ + "CURRENT_STATE":"SLAVE" + } + ,"MyResource_1":{ + "CURRENT_STATE":"MASTER" + } + ,"MyResource_2":{ + "CURRENT_STATE":"MASTER" + } + } +} +</code></pre></div> +<p>Each node in the cluster has its own CurrentState.</p></section><section> +<h3><a name="External_View"></a>External View</h3> +<p>In order to communicate with the participants, external clients need to know the current state of each of the participants. The external clients are referred to as <b>spectators</b>. In order to make the life of spectator simple, Helix provides an ExternalView that is an aggregated view of the current state across all nodes. The ExternalView has a similar format as IdealState.</p> + +<div class="source"><pre class="prettyprint"><code>{ + "id":"MyResource", + "mapFields":{ + "MyResource_0":{ + "N1":"SLAVE", + "N2":"MASTER", + "N3":"OFFLINE" + }, + "MyResource_1":{ + "N1":"MASTER", + "N2":"SLAVE", + "N3":"ERROR" + }, + "MyResource_2":{ + "N1":"MASTER", + "N2":"SLAVE", + "N3":"SLAVE" + } + } +} +</code></pre></div></section><section> +<h3><a name="Rebalancer"></a>Rebalancer</h3> +<p>The core component of Helix is the Controller which runs the Rebalancer algorithm on every cluster event. Cluster events can be one of the following:</p> +<ul> + +<li>Nodes start and/or stop</li> +<li>Nodes experience soft and/or hard failures</li> +<li>New nodes are added/removed</li> +<li>Ideal state changes</li> +</ul> +<p>There are few more examples such as configuration changes, etc. The key takeaway: there are many ways to trigger the rebalancer.</p> +<p>When a rebalancer is run it simply does the following:</p> +<ul> + +<li>Compares the ideal state and current state</li> +<li>Computes the transitions required to reach the ideal state</li> +<li>Issues the transitions to each participant</li> +</ul> +<p>The above steps happen for every change in the system. Once the current state matches the IdealState, the system is considered stable which implies 'IdealState = CurrentState = ExternalView'</p></section><section> +<h3><a name="Dynamic_IdealState"></a>Dynamic IdealState</h3> +<p>One of the things that makes Helix powerful is that IdealState can be changed dynamically. This means one can listen to cluster events like node failures and dynamically change the ideal state. Helix will then take care of triggering the respective transitions in the system.</p> +<p>Helix allows various granularities of control for adjusting the ideal state. Whenever a cluster event occurs, Helix can operate in one of three modes:</p> +<ul> + +<li><b>FULL_AUTO</b>: Helix will automatically determine the location and state of each replica based on constraints</li> +<li><b>SEMI_AUTO</b>: Helix will take in a "preference list" representing the location each replica can live at, and automatically determine the state based on constraints</li> +<li><b>CUSTOMIZED</b>: Helix will take in a map of location to state and fire transitions to get the external view to match</li> +</ul> +<p>Helix comes with a few algorithms to automatically compute the IdealState based on the constraints. For example, if you have a resource of 3 partitions and 2 replicas, Helix can automatically compute the IdealState based on the nodes that are currently active. See the <a href="./0.6.4-docs/tutorial_rebalance.html">tutorial</a> to find out more about various execution modes of Helix like FULL_AUTO, SEMI_AUTO and CUSTOMIZED.</p></section></section> + </main> + </div> + </div> + <hr/> + <footer> + <div class="container-fluid"> + <div class="row-fluid"> +<div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> + <a href="http://helix.apache.org/privacy-policy.html">Privacy Policy</a> + </div> + </div> + </div> + </footer> +<script> + if(anchors) { + anchors.add(); + } +</script> + </body> </html> \ No newline at end of file
Modified: helix/site-content/IRC.html URL: http://svn.apache.org/viewvc/helix/site-content/IRC.html?rev=1900177&r1=1900176&r2=1900177&view=diff ============================================================================== --- helix/site-content/IRC.html (original) +++ helix/site-content/IRC.html Sat Apr 23 01:14:12 2022 @@ -1,283 +1,146 @@ - <!DOCTYPE html> -<!-- - Generated by Apache Maven Doxia at 2022-04-23 - Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin) ---> -<html xml:lang="en" lang="en"> - - <head> - <meta charset="UTF-8" /> - <title>Apache Helix – IRC</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="description" content="" /> - <meta http-equiv="content-language" content="en" /> - - <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" /> - <link href="./css/docs.css" rel="stylesheet" /> - <link href="./css/reflow-skin.css" rel="stylesheet" /> - - - <link href="./css/lightbox.css" rel="stylesheet" /> - - <link href="./css/site.css" rel="stylesheet" /> - <link href="./css/print.css" rel="stylesheet" media="print" /> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - - - </head> - - <body class="page-$config.fileId project-$config.projectId" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> - <div class="navbar navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </a> - <div class="nav-collapse collapse" id="top-nav-collapse"> - <ul class="nav pull-right"> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Learn <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Core Concepts">Core Concepts</a></li> - <li class="active"><a href="" title="Architecture">Architecture</a></li> - <li class="active"><a href="" title="Publications">Publications</a></li> - <li class="active"><a href="" title="Client Libraries">Client Libraries</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="1.0.3">1.0.3</a></li> - <li class="active"><a href="" title="1.0.2">1.0.2</a></li> - <li class="active"><a href="" title="0.9.10 (0.9.9)">0.9.10 (0.9.9)</a></li> - <li class="active"><a href="" title="trunk">trunk</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Helix 1.0.3 <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Documentation">Documentation</a></li> - <li class="active"><a href="" title="Quick Start">Quick Start</a></li> - <li class="active"><a href="" title="Tutorial">Tutorial</a></li> - <li class="active"><a href="" title="Download">Download</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Helix 0.9.10 (0.9.9) <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Documentation">Documentation</a></li> - <li class="active"><a href="" title="Quick Start">Quick Start</a></li> - <li class="active"><a href="" title="Tutorial">Tutorial</a></li> - <li class="active"><a href="" title="Download">Download</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="IRC">IRC</a></li> - <li class="active"><a href="" title="Mailing Lists">Mailing Lists</a></li> - <li class="active"><a href="" title="Issues">Issues</a></li> - <li class="active"><a href="" title="Team">Team</a></li> - <li class="active"><a href="" title="Sources">Sources</a></li> - <li class="active"><a href="" title="Continuous Integration">Continuous Integration</a></li> - <li class="active"><a href="" title="Building Guide">Building Guide</a></li> - <li class="active"><a href="" title="Release Guide">Release Guide</a></li> - <li class="active"><a href="" title="Improve this Website">Improve this Website</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="ASF Home">ASF Home</a></li> - <li class="active"><a href="" title="License">License</a></li> - <li class="active"><a href="" title="Sponsorship">Sponsorship</a></li> - <li class="active"><a href="" title="Thanks">Thanks</a></li> - <li class="active"><a href="" title="Security">Security</a></li> - </ul> - </li> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - </div> - <div class="container"> - - <!-- Masthead - ================================================== --> - - <header> - <div class="jumbotron subhead"> - <div class="row" id="banner"> - <div class="span12"> - <div class="pull-left"> - <a href="" id="bannerLeft"><img src="" alt='"''"' /></a> - </div> - <div class="pull-right"> - <a href="http://www.apache.org/" id="bannerRight"><img src="" alt='"''"' /></a> - </div> - </div> - </div> - </div> - <div> - <ul class="breadcrumb"> - <li><a href="" title="Apache Helix">Apache Helix</a></li> - <li class="divider">/</li> - <li>IRC</li> - </ul> - </div> - </header> - - <div class="main-body"> - <div class="row"> - <div class="span12"> - <div class="body-content"> -$bodyWithHeader - </div> - </div> - </div> - </div> - - </div><!-- /container --> - - <!-- Footer - ================================================== --> - <footer class="well"> - <div class="container"> - <div class="row"> - <div class="span9 bottom-nav"> - <ul class="nav nav-list"> - <li class="nav-header">Learn</li> - <li class="active"> - <a href="#" title="Core Concepts">Core Concepts</a> - </li> - <li class="active"> - <a href="#" title="Architecture">Architecture</a> - </li> - <li class="active"> - <a href="#" title="Publications">Publications</a> - </li> - <li class="active"> - <a href="#" title="Client Libraries">Client Libraries</a> - </li> - <li class="nav-header">Documentation</li> - <li class="active"> - <a href="#" title="1.0.3">1.0.3</a> - </li> - <li class="active"> - <a href="#" title="1.0.2">1.0.2</a> - </li> - <li class="active"> - <a href="#" title="0.9.10 (0.9.9)">0.9.10 (0.9.9)</a> - </li> - <li class="active"> - <a href="#" title="trunk">trunk</a> - </li> - <li class="nav-header">Helix 1.0.3</li> - <li class="active"> - <a href="#" title="Documentation">Documentation</a> - </li> - <li class="active"> - <a href="#" title="Quick Start">Quick Start</a> - </li> - <li class="active"> - <a href="#" title="Tutorial">Tutorial</a> - </li> - <li class="active"> - <a href="#" title="Download">Download</a> - </li> - <li class="nav-header">Helix 0.9.10 (0.9.9)</li> - <li class="active"> - <a href="#" title="Documentation">Documentation</a> - </li> - <li class="active"> - <a href="#" title="Quick Start">Quick Start</a> - </li> - <li class="active"> - <a href="#" title="Tutorial">Tutorial</a> - </li> - <li class="active"> - <a href="#" title="Download">Download</a> - </li> - <li class="nav-header">Get Involved</li> - <li class="active"> - <a href="#" title="IRC">IRC</a> - </li> - <li class="active"> - <a href="#" title="Mailing Lists">Mailing Lists</a> - </li> - <li class="active"> - <a href="#" title="Issues">Issues</a> - </li> - <li class="active"> - <a href="#" title="Team">Team</a> - </li> - <li class="active"> - <a href="#" title="Sources">Sources</a> - </li> - <li class="active"> - <a href="#" title="Continuous Integration">Continuous Integration</a> - </li> - <li class="active"> - <a href="#" title="Building Guide">Building Guide</a> - </li> - <li class="active"> - <a href="#" title="Release Guide">Release Guide</a> - </li> - <li class="active"> - <a href="#" title="Improve this Website">Improve this Website</a> - </li> - <li class="nav-header">ASF</li> - <li class="active"> - <a href="#" title="ASF Home">ASF Home</a> - </li> - <li class="active"> - <a href="#" title="License">License</a> - </li> - <li class="active"> - <a href="#" title="Sponsorship">Sponsorship</a> - </li> - <li class="active"> - <a href="#" title="Thanks">Thanks</a> - </li> - <li class="active"> - <a href="#" title="Security">Security</a> - </li> - </ul> - </div> - </div> - </div> - </footer> - - <div class="container subfooter"> - <div class="row"> - <div class="span12"> - <p class="pull-right"><a href="#">Back to top</a></p> - <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="http://github.com/andriusvelykis/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="http://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> - </div> - </div> - </div> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> - - <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> - <script src="./js/lightbox.min.js"></script> - <script src="./js/reflow-scroll.js"></script> - - <script src="./js/reflow-skin.js"></script> +<!-- + | Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/markdown/IRC.md at 2022-04-23 + | Rendered using Apache Maven Fluido Skin 1.11.0-SNAPSHOT +--> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" /> + <title>Apache Helix – IRC</title> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.0-SNAPSHOT.min.css" /> + <link rel="stylesheet" href="./css/site.css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + <script src="./js/apache-maven-fluido-1.11.0-SNAPSHOT.min.js"></script> +<script type="text/javascript"> + + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-3211522-12']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + + </script> + </head> + <body class="topBarDisabled"> + <div class="container-fluid"> + <header> + <div id="banner"> + <div class="pull-left"><a href="https://helix.apache.org/" id="bannerLeft"><img src="images/helix-logo.jpg" alt=""/></a></div> + <div class="pull-right"><a href="https://www.apache.org/" id="bannerRight"><img src="images/feather_small.gif" alt=""/></a></div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + <li class=""><a href="./" title="Apache Helix">Apache Helix</a><span class="divider">/</span></li> + <li class="active ">IRC</li> + </ul> + </div> + </header> + <div class="row-fluid"> + <header id="leftColumn" class="span2"> + <nav class="well sidebar-nav"> + <ul class="nav nav-list"> + <li class="nav-header">Learn</li> + <li><a href="Concepts.html" title="Core Concepts"><span class="none"></span>Core Concepts</a></li> + <li><a href="Architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li> + <li><a href="Publications.html" title="Publications"><span class="none"></span>Publications</a></li> + <li><a href="ClientLibraries.html" title="Client Libraries"><span class="none"></span>Client Libraries</a></li> + <li class="nav-header">Documentation</li> + <li><a href="1.0.3-docs/index.html" title="1.0.3"><span class="none"></span>1.0.3</a></li> + <li><a href="1.0.2-docs/index.html" title="1.0.2"><span class="none"></span>1.0.2</a></li> + <li><a href="0.9.9-docs/index.html" title="0.9.10 (0.9.9)"><span class="none"></span>0.9.10 (0.9.9)</a></li> + <li><a href="trunk-docs/index.html" title="trunk"><span class="none"></span>trunk</a></li> + <li class="nav-header">Helix 1.0.3</li> + <li><a href="1.0.3-docs/index.html" title="Documentation"><span class="none"></span>Documentation</a></li> + <li><a href="1.0.3-docs/Quickstart.html" title="Quick Start"><span class="none"></span>Quick Start</a></li> + <li><a href="1.0.3-docs/Tutorial.html" title="Tutorial"><span class="none"></span>Tutorial</a></li> + <li><a href="1.0.3-docs/download.html" title="Download"><span class="none"></span>Download</a></li> + <li class="nav-header">Helix 0.9.10 (0.9.9)</li> + <li><a href="0.9.9-docs/index.html" title="Documentation"><span class="none"></span>Documentation</a></li> + <li><a href="0.9.9-docs/Quickstart.html" title="Quick Start"><span class="none"></span>Quick Start</a></li> + <li><a href="0.9.9-docs/Tutorial.html" title="Tutorial"><span class="none"></span>Tutorial</a></li> + <li><a href="0.9.9-docs/download.html" title="Download"><span class="none"></span>Download</a></li> + <li class="nav-header">Get Involved</li> + <li class="active"><a href="#"><span class="none"></span>IRC</a></li> + <li><a href="mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li> + <li><a href="issue-tracking.html" title="Issues"><span class="none"></span>Issues</a></li> + <li><a href="team-list.html" title="Team"><span class="none"></span>Team</a></li> + <li><a href="sources.html" title="Sources"><span class="none"></span>Sources</a></li> + <li><a href="integration.html" title="Continuous Integration"><span class="none"></span>Continuous Integration</a></li> + <li><a href="involved/building.html" title="Building Guide"><span class="none"></span>Building Guide</a></li> + <li><a href="releasing.html" title="Release Guide"><span class="none"></span>Release Guide</a></li> + <li><a href="involved/contribdocs.html" title="Improve this Website"><span class="none"></span>Improve this Website</a></li> + <li class="nav-header">ASF</li> + <li><a href="http://www.apache.org/" class="externalLink" title="ASF Home"><span class="none"></span>ASF Home</a></li> + <li><a href="http://www.apache.org/licenses/" class="externalLink" title="License"><span class="none"></span>License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li> + <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a></li> + </ul> + </nav> + <div class="well sidebar-nav"> + <hr /> + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> +<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> + </div> + </div> + </header> + <main id="bodyColumn" class="span10" > +<!--- +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. +--> - </body> +<section> +<h2><a name="IRC"></a>IRC</h2> +<p>We're often available on the <code>#apachehelix</code> channel on the <code>chat.freenode.net</code> server. You can use your favorite IRC client or the web client below to connect.</p><section> +<h3><a name="Web_IRC_Client"></a>Web IRC Client</h3> +<p>To connect to our channel, just enter a username below.</p> +<iframe src="http://webchat.freenode.net/?channels=apachehelix" style="width: 100%; height: 500px; border: none;" /></section></section> + </main> + </div> + </div> + <hr/> + <footer> + <div class="container-fluid"> + <div class="row-fluid"> +<div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> + <a href="http://helix.apache.org/privacy-policy.html">Privacy Policy</a> + </div> + </div> + </div> + </footer> +<script> + if(anchors) { + anchors.add(); + } +</script> + </body> </html> \ No newline at end of file Modified: helix/site-content/Publications.html URL: http://svn.apache.org/viewvc/helix/site-content/Publications.html?rev=1900177&r1=1900176&r2=1900177&view=diff ============================================================================== --- helix/site-content/Publications.html (original) +++ helix/site-content/Publications.html Sat Apr 23 01:14:12 2022 @@ -1,283 +1,167 @@ - <!DOCTYPE html> -<!-- - Generated by Apache Maven Doxia at 2022-04-23 - Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin) ---> -<html xml:lang="en" lang="en"> - <head> - <meta charset="UTF-8" /> - <title>Apache Helix – Publications</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="description" content="" /> - <meta http-equiv="content-language" content="en" /> - - <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" /> - <link href="./css/docs.css" rel="stylesheet" /> - <link href="./css/reflow-skin.css" rel="stylesheet" /> - - - <link href="./css/lightbox.css" rel="stylesheet" /> - - <link href="./css/site.css" rel="stylesheet" /> - <link href="./css/print.css" rel="stylesheet" media="print" /> - - <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - - - </head> - - <body class="page-$config.fileId project-$config.projectId" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> - - <div class="navbar navbar-fixed-top"> - <div class="navbar-inner"> - <div class="container"> - <a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse"> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </a> - <div class="nav-collapse collapse" id="top-nav-collapse"> - <ul class="nav pull-right"> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Learn <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Core Concepts">Core Concepts</a></li> - <li class="active"><a href="" title="Architecture">Architecture</a></li> - <li class="active"><a href="" title="Publications">Publications</a></li> - <li class="active"><a href="" title="Client Libraries">Client Libraries</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="1.0.3">1.0.3</a></li> - <li class="active"><a href="" title="1.0.2">1.0.2</a></li> - <li class="active"><a href="" title="0.9.10 (0.9.9)">0.9.10 (0.9.9)</a></li> - <li class="active"><a href="" title="trunk">trunk</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Helix 1.0.3 <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Documentation">Documentation</a></li> - <li class="active"><a href="" title="Quick Start">Quick Start</a></li> - <li class="active"><a href="" title="Tutorial">Tutorial</a></li> - <li class="active"><a href="" title="Download">Download</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Helix 0.9.10 (0.9.9) <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="Documentation">Documentation</a></li> - <li class="active"><a href="" title="Quick Start">Quick Start</a></li> - <li class="active"><a href="" title="Tutorial">Tutorial</a></li> - <li class="active"><a href="" title="Download">Download</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="IRC">IRC</a></li> - <li class="active"><a href="" title="Mailing Lists">Mailing Lists</a></li> - <li class="active"><a href="" title="Issues">Issues</a></li> - <li class="active"><a href="" title="Team">Team</a></li> - <li class="active"><a href="" title="Sources">Sources</a></li> - <li class="active"><a href="" title="Continuous Integration">Continuous Integration</a></li> - <li class="active"><a href="" title="Building Guide">Building Guide</a></li> - <li class="active"><a href="" title="Release Guide">Release Guide</a></li> - <li class="active"><a href="" title="Improve this Website">Improve this Website</a></li> - </ul> - </li> - <li class="dropdown active"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li class="active"><a href="" title="ASF Home">ASF Home</a></li> - <li class="active"><a href="" title="License">License</a></li> - <li class="active"><a href="" title="Sponsorship">Sponsorship</a></li> - <li class="active"><a href="" title="Thanks">Thanks</a></li> - <li class="active"><a href="" title="Security">Security</a></li> - </ul> - </li> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - </div> - - <div class="container"> - - <!-- Masthead - ================================================== --> - - <header> - <div class="jumbotron subhead"> - <div class="row" id="banner"> - <div class="span12"> - <div class="pull-left"> - <a href="" id="bannerLeft"><img src="" alt='"''"' /></a> - </div> - <div class="pull-right"> - <a href="http://www.apache.org/" id="bannerRight"><img src="" alt='"''"' /></a> - </div> - </div> - </div> - </div> - <div> - <ul class="breadcrumb"> - <li><a href="" title="Apache Helix">Apache Helix</a></li> - <li class="divider">/</li> - <li>Publications</li> - </ul> - </div> - </header> - - <div class="main-body"> - <div class="row"> - <div class="span12"> - <div class="body-content"> -$bodyWithHeader - </div> - </div> - </div> - </div> - - </div><!-- /container --> - - <!-- Footer - ================================================== --> - <footer class="well"> - <div class="container"> - <div class="row"> - <div class="span9 bottom-nav"> - <ul class="nav nav-list"> - <li class="nav-header">Learn</li> - <li class="active"> - <a href="#" title="Core Concepts">Core Concepts</a> - </li> - <li class="active"> - <a href="#" title="Architecture">Architecture</a> - </li> - <li class="active"> - <a href="#" title="Publications">Publications</a> - </li> - <li class="active"> - <a href="#" title="Client Libraries">Client Libraries</a> - </li> - <li class="nav-header">Documentation</li> - <li class="active"> - <a href="#" title="1.0.3">1.0.3</a> - </li> - <li class="active"> - <a href="#" title="1.0.2">1.0.2</a> - </li> - <li class="active"> - <a href="#" title="0.9.10 (0.9.9)">0.9.10 (0.9.9)</a> - </li> - <li class="active"> - <a href="#" title="trunk">trunk</a> - </li> - <li class="nav-header">Helix 1.0.3</li> - <li class="active"> - <a href="#" title="Documentation">Documentation</a> - </li> - <li class="active"> - <a href="#" title="Quick Start">Quick Start</a> - </li> - <li class="active"> - <a href="#" title="Tutorial">Tutorial</a> - </li> - <li class="active"> - <a href="#" title="Download">Download</a> - </li> - <li class="nav-header">Helix 0.9.10 (0.9.9)</li> - <li class="active"> - <a href="#" title="Documentation">Documentation</a> - </li> - <li class="active"> - <a href="#" title="Quick Start">Quick Start</a> - </li> - <li class="active"> - <a href="#" title="Tutorial">Tutorial</a> - </li> - <li class="active"> - <a href="#" title="Download">Download</a> - </li> - <li class="nav-header">Get Involved</li> - <li class="active"> - <a href="#" title="IRC">IRC</a> - </li> - <li class="active"> - <a href="#" title="Mailing Lists">Mailing Lists</a> - </li> - <li class="active"> - <a href="#" title="Issues">Issues</a> - </li> - <li class="active"> - <a href="#" title="Team">Team</a> - </li> - <li class="active"> - <a href="#" title="Sources">Sources</a> - </li> - <li class="active"> - <a href="#" title="Continuous Integration">Continuous Integration</a> - </li> - <li class="active"> - <a href="#" title="Building Guide">Building Guide</a> - </li> - <li class="active"> - <a href="#" title="Release Guide">Release Guide</a> - </li> - <li class="active"> - <a href="#" title="Improve this Website">Improve this Website</a> - </li> - <li class="nav-header">ASF</li> - <li class="active"> - <a href="#" title="ASF Home">ASF Home</a> - </li> - <li class="active"> - <a href="#" title="License">License</a> - </li> - <li class="active"> - <a href="#" title="Sponsorship">Sponsorship</a> - </li> - <li class="active"> - <a href="#" title="Thanks">Thanks</a> - </li> - <li class="active"> - <a href="#" title="Security">Security</a> - </li> - </ul> - </div> - </div> - </div> - </footer> - - <div class="container subfooter"> - <div class="row"> - <div class="span12"> - <p class="pull-right"><a href="#">Back to top</a></p> - <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="http://github.com/andriusvelykis/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="http://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> - </div> - </div> - </div> - - <!-- Le javascript - ================================================== --> - <!-- Placed at the end of the document so the pages load faster --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> - - <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> - <script src="./js/lightbox.min.js"></script> - <script src="./js/reflow-scroll.js"></script> - <script src="./js/reflow-skin.js"></script> +<!-- + | Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/markdown/Publications.md at 2022-04-23 + | Rendered using Apache Maven Fluido Skin 1.11.0-SNAPSHOT +--> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" /> + <title>Apache Helix – Publications</title> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.0-SNAPSHOT.min.css" /> + <link rel="stylesheet" href="./css/site.css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + <script src="./js/apache-maven-fluido-1.11.0-SNAPSHOT.min.js"></script> +<script type="text/javascript"> + + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-3211522-12']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + + </script> + </head> + <body class="topBarDisabled"> + <div class="container-fluid"> + <header> + <div id="banner"> + <div class="pull-left"><a href="https://helix.apache.org/" id="bannerLeft"><img src="images/helix-logo.jpg" alt=""/></a></div> + <div class="pull-right"><a href="https://www.apache.org/" id="bannerRight"><img src="images/feather_small.gif" alt=""/></a></div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + <li class=""><a href="./" title="Apache Helix">Apache Helix</a><span class="divider">/</span></li> + <li class="active ">Publications</li> + </ul> + </div> + </header> + <div class="row-fluid"> + <header id="leftColumn" class="span2"> + <nav class="well sidebar-nav"> + <ul class="nav nav-list"> + <li class="nav-header">Learn</li> + <li><a href="Concepts.html" title="Core Concepts"><span class="none"></span>Core Concepts</a></li> + <li><a href="Architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li> + <li class="active"><a href="#"><span class="none"></span>Publications</a></li> + <li><a href="ClientLibraries.html" title="Client Libraries"><span class="none"></span>Client Libraries</a></li> + <li class="nav-header">Documentation</li> + <li><a href="1.0.3-docs/index.html" title="1.0.3"><span class="none"></span>1.0.3</a></li> + <li><a href="1.0.2-docs/index.html" title="1.0.2"><span class="none"></span>1.0.2</a></li> + <li><a href="0.9.9-docs/index.html" title="0.9.10 (0.9.9)"><span class="none"></span>0.9.10 (0.9.9)</a></li> + <li><a href="trunk-docs/index.html" title="trunk"><span class="none"></span>trunk</a></li> + <li class="nav-header">Helix 1.0.3</li> + <li><a href="1.0.3-docs/index.html" title="Documentation"><span class="none"></span>Documentation</a></li> + <li><a href="1.0.3-docs/Quickstart.html" title="Quick Start"><span class="none"></span>Quick Start</a></li> + <li><a href="1.0.3-docs/Tutorial.html" title="Tutorial"><span class="none"></span>Tutorial</a></li> + <li><a href="1.0.3-docs/download.html" title="Download"><span class="none"></span>Download</a></li> + <li class="nav-header">Helix 0.9.10 (0.9.9)</li> + <li><a href="0.9.9-docs/index.html" title="Documentation"><span class="none"></span>Documentation</a></li> + <li><a href="0.9.9-docs/Quickstart.html" title="Quick Start"><span class="none"></span>Quick Start</a></li> + <li><a href="0.9.9-docs/Tutorial.html" title="Tutorial"><span class="none"></span>Tutorial</a></li> + <li><a href="0.9.9-docs/download.html" title="Download"><span class="none"></span>Download</a></li> + <li class="nav-header">Get Involved</li> + <li><a href="IRC.html" title="IRC"><span class="none"></span>IRC</a></li> + <li><a href="mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li> + <li><a href="issue-tracking.html" title="Issues"><span class="none"></span>Issues</a></li> + <li><a href="team-list.html" title="Team"><span class="none"></span>Team</a></li> + <li><a href="sources.html" title="Sources"><span class="none"></span>Sources</a></li> + <li><a href="integration.html" title="Continuous Integration"><span class="none"></span>Continuous Integration</a></li> + <li><a href="involved/building.html" title="Building Guide"><span class="none"></span>Building Guide</a></li> + <li><a href="releasing.html" title="Release Guide"><span class="none"></span>Release Guide</a></li> + <li><a href="involved/contribdocs.html" title="Improve this Website"><span class="none"></span>Improve this Website</a></li> + <li class="nav-header">ASF</li> + <li><a href="http://www.apache.org/" class="externalLink" title="ASF Home"><span class="none"></span>ASF Home</a></li> + <li><a href="http://www.apache.org/licenses/" class="externalLink" title="License"><span class="none"></span>License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li> + <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a></li> + </ul> + </nav> + <div class="well sidebar-nav"> + <hr /> + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> +<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> + </div> + </div> + </header> + <main id="bodyColumn" class="span10" > +<!--- +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. +--> - </body> +<section> +<h2><a name="Publications"></a>Publications</h2> +<ul> + +<li>Untangling cluster management using Helix at <a class="externalLink" href="http://www.socc2012.org/home/program">SOCC Oct 2012</a> +<ul> + +<li><a class="externalLink" href="https://915bbc94-a-62cb3a1a-s-sites.googlegroups.com/site/acm2012socc/helix_onecol.pdf">paper</a></li> +<li><a class="externalLink" href="http://www.slideshare.net/KishoreGopalakrishna/helix-socc-v10final">presentation</a></li> +</ul> +</li> +<li>Building distributed systems using Helix +<ul> + +<li><a class="externalLink" href="http://www.slideshare.net/KishoreGopalakrishna/helix-talk">presentation at RelateIQ</a></li> +<li><a class="externalLink" href="http://www.slideshare.net/KishoreGopalakrishna/apache-con-buildingddsusinghelix">presentation at ApacheCon</a></li> +<li><a class="externalLink" href="http://www.slideshare.net/KishoreGopalakrishna/apache-helix-presentation-at-vmware">presentation at VMWare</a></li> +</ul> +</li> +<li>Data driven testing: +<ul> + +<li><a class="externalLink" href="http://www.slideshare.net/KishoreGopalakrishna/data-driven-testing">short talk at LSPE meetup</a></li> +<li><a class="externalLink" href="http://dbtest2013.soe.ucsc.edu/Program.htm">paper DBTest 2013 acm SIGMOD:will be published on Jun 24, 2013</a></li> +</ul> +</li> +</ul></section> + </main> + </div> + </div> + <hr/> + <footer> + <div class="container-fluid"> + <div class="row-fluid"> +<div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> + <a href="http://helix.apache.org/privacy-policy.html">Privacy Policy</a> + </div> + </div> + </div> + </footer> +<script> + if(anchors) { + anchors.add(); + } +</script> + </body> </html> \ No newline at end of file
