incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Update of "ConcurProposal" by JitendraPandey
Date Wed, 23 Nov 2016 08:26:53 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "ConcurProposal" page has been changed by JitendraPandey:
https://wiki.apache.org/incubator/ConcurProposal?action=diff&rev1=15&rev2=16

  = Concur Proposal =
   
  == Abstract ==
- Apache Concur is an open source java implementation for RAFT consensus protocol[1]. RAFT
is being used successfully as an alternative to Paxos to implement a consistently replicated
log. RAFT is proven to be safe and is designed to be simpler to understand.
+ Concur is an open source java implementation for RAFT consensus protocol[1]. RAFT is being
used successfully as an alternative to Paxos to implement a consistently replicated log. RAFT
is proven to be safe and is designed to be simpler to understand.
   
  == Proposal ==
  Concur is implemented as an independent RAFT library that can be used by any application
to manage their replicated logs or replicated state machines. The implementation closely follows
the original design proposed in the RAFT paper.
   
  == Background ==
- Replicated log is a frequently used technique in distributed systems for reliability and
parallelism. The consistency of replicas is an important requirement to ensure the correctness
of the applications accessing the data in these replicas. Many algorithms have been proposed
and used to maintain consistency and correctness. RAFT paper was proposed in 2012 and has
gained significant popularity since then to manage the replicated logs and replicated state
in many popular projects. Data replication is a requirement for many projects in ASF ecosystem
for example Apache Hadoop, Apache HBase etc. We believe the Apache Concur project can provide
an implementation of RAFT that can fulfill the needs similar to these systems and strengthen
the ASF ecosystem.
+ Replicated log is a frequently used technique in distributed systems for reliability and
parallelism. The consistency of replicas is an important requirement to ensure the correctness
of the applications accessing the data in these replicas. Many algorithms have been proposed
and used to maintain consistency and correctness. RAFT paper was proposed in 2012 and has
gained significant popularity since then to manage the replicated logs and replicated state
in many popular projects. Data replication is a requirement for many projects in ASF ecosystem
for example Apache Hadoop, Apache HBase etc. We believe the Concur project can provide an
implementation of RAFT that can fulfill the needs similar to these systems and strengthen
the ASF ecosystem.
  
  
  == Rationale ==
- There are a few RAFT implementations[2], but none are a part of ASF. Apache Concur is significantly
different because one of the critical goals of the project is to use it as a library with
pluggability for different RPC, Raft log and state machine implementations. Another important
goal of Apache Concur is to provide high throughput for large ingest rates of data, with data
pipeline support. This will simplify the problem of data replication across the board. Apache
DistributedLog project[3] (in incubation) provides a replicated log service. However, Apache
Concur is different as it provides a library that other projects can use to implement their
own replicated state machine, without deploying another service. Apache Kudu uses RAFT protocol,
but it has its own implementation in C++. 
+ There are a few RAFT implementations[2], but none are a part of ASF. Concur is significantly
different because one of the critical goals of the project is to use it as a library with
pluggability for different RPC, Raft log and state machine implementations. Another important
goal of Apache Concur is to provide high throughput for large ingest rates of data, with data
pipeline support. This will simplify the problem of data replication across the board. Apache
Kudu uses RAFT protocol, but it has its own C++ implementation. Apache DistributedLog project[3]
(in incubation) provides a replicated log service. However, Apache Concur is different as
it provides a java library that other projects can use to implement their own replicated state
machine, without deploying another service.
  
  
  == Current Status ==
- The source code is available with Apache v2 license at https://github.com/hortonworks/concur.
Significant amount of code has been added and basic functionality of RAFT is available for
testing. 
+ The source code is available with Apache v2 license at https://github.com/hortonworks/concur.
Significant amount of code has been added and basic functionality of RAFT is available for
testing. The code is still in pre-alpha stage and is currently being tried out in POC mode.
  
   
  == Meritocracy ==
@@ -52, +52 @@

     * Chris Nauroth, Disney
   
  == Alignment ==
- We believe that Apache Concur will address the requirements of several projects and communities
in the Apache ecosystem and will gain great adoption.
+ We believe that Concur will address the requirements of several projects and communities
in the Apache ecosystem and will gain great adoption.
   
  == Known Risks ==
   
@@ -69, +69 @@

  It is expected that Concur development will occur on both salaried time and on volunteer
time, after hours. The majority of initial committers are paid by their employer to contribute
to this project. However, they are all passionate about the project, and we are confident
that the project will continue even if no salaried developers contribute to the project. We
are committed to recruiting additional committers including non-salaried developers.
   
  === Relationships with Other Apache Products ===
- Most of the initial developers are active participants in Apache Hadoop community and we
expect adoption of Concur by Hadoop Community. However, Apache Concur is a generic RAFT library
and we will strive to take it to more general adoption. This project depends on Apache Maven,
Apache Commons {collections,configuration,io} and Apache Hadoop.
+ Most of the initial developers are active participants in Apache Hadoop community and we
expect adoption of Concur by Hadoop Community. However, Concur is a generic RAFT library and
we will strive to take it to more general adoption. This project depends on Apache Maven,
Apache Commons {collections,configuration,io} and Apache Hadoop.
   
  == Initial Source ==
  https://github.com/hortonworks/concur
- 
  
  == External Dependencies ==
     * Apache Maven

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message