| <!-- |
| Licensed 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. See accompanying LICENSE file. |
| --> |
| {{ partial "header.html" . }} |
| {{ partial "middle.html" . }} |
| |
| <div class="whatis bg-light"> |
| <div class="container"> |
| <div class="row header"> |
| <h2>What is Apache Ratis™?</h2> |
| <p class="lead"> |
| Apache Ratis is a highly customizable Raft protocol implementation in Java.</p> |
| <p class="lead"><a href="https://raft.github.io/">Raft</a> is a easily understandable consensus algorithm to manage replicated state.</p> |
| <p class="lead">Apache Ratis could be used in any Java application where state should be replicated between multiple instances.</p> |
| </p> |
| <p></p> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="main-section feature-list-group"> |
| <div class="container"> |
| <div class="row feature-list"> |
| <h2>Features</h2> |
| <div class="col-md-6 col-sm-6 feature-item"> |
| <span class="glyphicon glyphicon-transfer" aria-hidden="true"></span> |
| <i class="fa fa-5x fa-fw m-y-3 text-info fa-child"></i> |
| <h4>Pluggable transport</h4> |
| <p> |
| Ratis provides a pluggable transport layer. By default gRPC, Netty+Protobuf and Apache Hadoop RPC based transports are provided. |
| </p> |
| <p> |
| |
| </p> |
| <p></p> |
| </div> |
| <div class="col-md-6 col-sm-6 feature-item"> |
| <span class="glyphicon glyphicon-log-in" aria-hidden="true"></span> |
| <h4>Pluggable state machine</h4> |
| <p> |
| Ratis supports a log and state machine. State machine typically contains the data that you want to make highly available. Ratis makes it easy to use your own state machine. |
| </p> |
| </div> |
| |
| |
| </div><!-- /.feature-list --> |
| <div class="row feature-list"> |
| <div class="col-md-6 col-sm-6 feature-item"> |
| <span class="glyphicon glyphicon-tasks" aria-hidden="true"></span> |
| <h4>Pluggable raft log</h4> |
| <p>RAFT log is also pluggable, users can provide their own log implementation. The default |
| implementation |
| stores log in local files.</p> |
| <p> |
| Application can define the policies of how to write data and where it should be written easily. |
| </p> |
| </div> |
| |
| |
| <div class="col-md-6 col-sm-6 feature-item"> |
| <span class="glyphicon glyphicon-dashboard" aria-hidden="true"></span> |
| <h4>Pluggable metrics</h4> |
| <p>Ratis provides a pluggable observation layer. By default (ratis-metrics-default), it uses the shaded Dropwizard 4 provided by ratis-thirdparty. |
| Another implementation can be found in ratis-metrics-dropwizard3. Users can provide their own metrics implementations. |
| </p> |
| </div> |
| </div> |
| |
| <div class="row feature-list"> |
| <div class="col-md-6 col-sm-6 feature-item"> |
| <span class="glyphicon glyphicon-hdd" aria-hidden="true"></span> |
| <h4>Log Service</h4> |
| <p>Ratis provides a log service recipe provides StateMachines to implement a distributed log service with a focused client API. For more information, |
| please read the <a href="logservice">LogService documentation</a>.</p> |
| </div> |
| </div> |
| |
| </div><!-- /.container --> |
| </div><!-- /.feature-list-group --> |
| |
| |
| <a name="news"></a> |
| <div class="main-section bg-light"> |
| <div class="container"> |
| <div class="row header"> |
| <h2>Latest news</h2> |
| {{ range where .Data.Pages "Section" "post" }} |
| <div class="panel-heading clearfix"><a class="pull-left" href="{{.RelPermalink}}">{{.Title}}</a> |
| <small class="pull-right">{{dateFormat "2006 Jan 2 " .Date}}</small> |
| </div> |
| {{end}} |
| </div> |
| </div> |
| </div> |
| |
| <a name="gettingstarted"></a> |
| <div class="main-section bg-light"> |
| <div class="container"> |
| <div class="row header"> |
| {{range where .Site.Pages "Title" "Getting started"}} |
| <h2>{{.Title}}</h2> |
| {{.Content}} |
| {{end}} |
| </div> |
| </div> |
| </div> |
| |
| <a name="community"></a> |
| <div class="main-section"> |
| <div class="container"> |
| <div class="row header"> |
| {{range where .Site.Pages "Title" "Community"}} |
| <h2>{{.Title}}</h2> |
| {{.Content}} |
| {{end}} |
| </div> |
| </div> |
| </div> |
| |
| <a name="source"></a> |
| <div class="main-section bg-light"> |
| <div class="container"> |
| <div class="row header"> |
| {{range where .Site.Pages "Title" "Source"}} |
| <h2>{{.Title}}</h2> |
| {{.Content}} |
| {{end}} |
| </div> |
| </div> |
| </div> |
| |
| <a name="resources"></a> |
| <div class="main-section"> |
| <div class="container"> |
| <div class="row header"> |
| <h2>Resources</h2> |
| <p>Are you interested in learning more about Apache Ratis? Excellent! Here are some resources.</p> |
| <ul> |
| <li> |
| <a href="//www.slideshare.net/TszWoNicholasSze/apache-ratis-in-search-of-a-usable-raft-library" |
| title="Apache Ratis - In Search of a Usable Raft Library" target="_blank"> |
| Apache Ratis - In Search of a Usable Raft Library</a> |
| <br /> |
| <iframe src="//www.slideshare.net/slideshow/embed_code/key/3OyDeDVxSWhIcd" width="595" height="485" |
| frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; |
| margin-bottom:5px; max-width: 100%;" allowfullscreen> |
| </iframe> |
| </li> |
| |
| <li> <a href="//www.slideshare.net/Hadoop_Summit/high-throughput-data-replication-over-raft" title="High throughput data replication over RAFT" target="_blank">High throughput data replication over RAFT</a> from DataWorks Summit</a> |
| <iframe src="//www.slideshare.net/slideshow/embed_code/key/40nJZyfhrysXeK" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> |
| <div style="margin-bottom:5px"></div></li> |
| </div> |
| </div> |
| </div> |
| |
| |
| {{ partial "footer.html" . }} |