类 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
  • 构造器详细资料

  • 方法详细资料

    • init

      public void init(RaftConfig config)
      指定者:
      init 在接口中 com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,​com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
    • addRequestProcessors

      public void addRequestProcessors(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 Exception
      指定者:
      getData 在接口中 com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,​com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
      抛出:
      Exception
    • aGetData

      public 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 Exception
      指定者:
      write 在接口中 com.alibaba.nacos.consistency.ConsistencyProtocol<RaftConfig,​com.alibaba.nacos.consistency.cp.RequestProcessor4CP>
      抛出:
      Exception
    • writeAsync

      public 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(Set<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<String> execute(Map<String,​String> args)
      指定者:
      execute 在接口中 com.alibaba.nacos.consistency.CommandOperations
    • isLeader

      public boolean isLeader(String group)
      指定者:
      isLeader 在接口中 com.alibaba.nacos.consistency.cp.CPProtocol<RaftConfig,​com.alibaba.nacos.consistency.cp.RequestProcessor4CP>