类 JRaftProtocol
- java.lang.Object
-
- com.alibaba.nacos.core.distributed.AbstractConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
- com.alibaba.nacos.core.distributed.raft.JRaftProtocol
-
- 所有已实现的接口:
com.alibaba.nacos.consistency.CommandOperations,com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>,com.alibaba.nacos.consistency.cp.CPProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
public class JRaftProtocol extends AbstractConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP> implements com.alibaba.nacos.consistency.cp.CPProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
A concrete implementation of CP protocol: JRaft.┌──────────────────────┐ ┌──────────────────────┐ │ ▼ │ ProtocolManager │ │ ┌───────────────────────────┐ └──────────────────────┘ │ │for p in [LogProcessor4CP] │ │ │ └───────────────────────────┘ ▼ │ │ ┌──────────────────────────────────┐ │ ▼ │ discovery LogProcessor4CP │ │ ┌─────────────────┐ └──────────────────────────────────┘ │ │ get p.group() │ │ │ └─────────────────┘ ▼ │ │ ┌─────────────┐ │ │ │ RaftConfig │ │ ▼ └─────────────┘ │ ┌──────────────────────────────┐ │ │ │ create raft group service │ ▼ │ └──────────────────────────────┘ ┌──────────────────┐ │ │ JRaftProtocol │ │ └──────────────────┘ │ │ │ init() │ │ │ ▼ │ ┌─────────────────┐ │ │ JRaftServer │ │ └─────────────────┘ │ │ │ │ │ ▼ │ ┌────────────────────┐ │ │JRaftServer.start() │ │ └────────────────────┘ │ │ │ └──────────────────┘- 作者:
- liaochuntao
-
-
字段概要
字段 修饰符和类型 字段 说明 private java.util.concurrent.atomic.AtomicBooleaninitializedprivate JRaftMaintainServicejRaftMaintainServiceprivate ServerMemberManagermemberManagerprivate RaftConfigraftConfigprivate JRaftServerraftServerprivate com.alibaba.nacos.consistency.Serializerserializerprivate java.util.concurrent.atomic.AtomicBooleanshutdowned-
从类继承的字段 com.alibaba.nacos.core.distributed.AbstractConsistencyProtocol
metaData, processorMap
-
-
构造器概要
构造器 构造器 说明 JRaftProtocol(ServerMemberManager memberManager)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidaddRequestProcessors(java.util.Collection<com.alibaba.nacos.consistency.cp.RequestProcessor4CP> processors)java.util.concurrent.CompletableFuture<com.alibaba.nacos.consistency.entity.Response>aGetData(com.alibaba.nacos.consistency.entity.ReadRequest request)com.alibaba.nacos.common.model.RestResult<java.lang.String>execute(java.util.Map<java.lang.String,java.lang.String> args)com.alibaba.nacos.consistency.entity.ResponsegetData(com.alibaba.nacos.consistency.entity.ReadRequest request)voidinit(RaftConfig config)private voidinjectProtocolMetaData(com.alibaba.nacos.consistency.ProtocolMetaData metaData)booleanisLeader(java.lang.String group)voidmemberChange(java.util.Set<java.lang.String> addresses)voidshutdown()com.alibaba.nacos.consistency.entity.Responsewrite(com.alibaba.nacos.consistency.entity.WriteRequest request)java.util.concurrent.CompletableFuture<com.alibaba.nacos.consistency.entity.Response>writeAsync(com.alibaba.nacos.consistency.entity.WriteRequest request)-
从类继承的方法 com.alibaba.nacos.core.distributed.AbstractConsistencyProtocol
allProcessor, loadLogProcessor, protocolMetaData
-
-
-
-
字段详细资料
-
initialized
private final java.util.concurrent.atomic.AtomicBoolean initialized
-
shutdowned
private final java.util.concurrent.atomic.AtomicBoolean shutdowned
-
serializer
private final com.alibaba.nacos.consistency.Serializer serializer
-
raftConfig
private RaftConfig raftConfig
-
raftServer
private JRaftServer raftServer
-
jRaftMaintainService
private JRaftMaintainService jRaftMaintainService
-
memberManager
private ServerMemberManager memberManager
-
-
构造器详细资料
-
JRaftProtocol
public JRaftProtocol(ServerMemberManager memberManager) throws java.lang.Exception
- 抛出:
java.lang.Exception
-
-
方法详细资料
-
init
public void init(RaftConfig config)
- 指定者:
init在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
addRequestProcessors
public void addRequestProcessors(java.util.Collection<com.alibaba.nacos.consistency.cp.RequestProcessor4CP> processors)
- 指定者:
addRequestProcessors在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
getData
public com.alibaba.nacos.consistency.entity.Response getData(com.alibaba.nacos.consistency.entity.ReadRequest request) throws java.lang.Exception- 指定者:
getData在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>- 抛出:
java.lang.Exception
-
aGetData
public java.util.concurrent.CompletableFuture<com.alibaba.nacos.consistency.entity.Response> aGetData(com.alibaba.nacos.consistency.entity.ReadRequest request)
- 指定者:
aGetData在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
write
public com.alibaba.nacos.consistency.entity.Response write(com.alibaba.nacos.consistency.entity.WriteRequest request) throws java.lang.Exception- 指定者:
write在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>- 抛出:
java.lang.Exception
-
writeAsync
public java.util.concurrent.CompletableFuture<com.alibaba.nacos.consistency.entity.Response> writeAsync(com.alibaba.nacos.consistency.entity.WriteRequest request)
- 指定者:
writeAsync在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
memberChange
public void memberChange(java.util.Set<java.lang.String> addresses)
- 指定者:
memberChange在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
shutdown
public void shutdown()
- 指定者:
shutdown在接口中com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
execute
public com.alibaba.nacos.common.model.RestResult<java.lang.String> execute(java.util.Map<java.lang.String,java.lang.String> args)
- 指定者:
execute在接口中com.alibaba.nacos.consistency.CommandOperations
-
injectProtocolMetaData
private void injectProtocolMetaData(com.alibaba.nacos.consistency.ProtocolMetaData metaData)
-
isLeader
public boolean isLeader(java.lang.String group)
- 指定者:
isLeader在接口中com.alibaba.nacos.consistency.cp.CPProtocol<RaftConfig,com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
-
-