Tsz Wo Nicholas Sze created RATIS-20:
----------------------------------------

             Summary: Define APIs for choosing RPC implementations
                 Key: RATIS-20
                 URL: https://issues.apache.org/jira/browse/RATIS-20
             Project: Ratis
          Issue Type: New Feature
            Reporter: Tsz Wo Nicholas Sze
            Assignee: Tsz Wo Nicholas Sze


Currently, user has to know some RPC implementation details in order to use it 
correctly.  For example, for grpc, users has to set the following 
RaftProperties.
{code}
properties.setClass(RaftServerConfigKeys.RAFT_SERVER_LOG_APPENDER_FACTORY_CLASS_KEY,
          PipelinedLogAppenderFactory.class, LogAppenderFactory.class);
{code}
Also, users need to know the actual implementations of various interfaces.  
such as RaftServerRpc and RaftClientRequestSender.  For grpc, the 
implementations are RaftGRpcService and RaftClientSenderWithGrpc.

We should provide a simple API to configure the RPC and hide the implementation 
details.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to