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)