Go to file
2022-08-04 18:07:48 +08:00
.vscode ratis grpc版本 2022-08-04 18:07:48 +08:00
src ratis grpc版本 2022-08-04 18:07:48 +08:00
.gitignore 删除springboot打包依赖 2022-07-21 01:43:25 +08:00
.gitmodules 修改子模块的版本 2022-07-28 15:43:13 +08:00
assembly.xml 删除springboot打包依赖 2022-07-21 01:43:25 +08:00
clear_old_data.sh todo: 调试 2022-08-01 00:27:00 +08:00
design_com.puml 时序图 添加 2022-07-05 18:23:30 +08:00
design_main_1.puml 时序图 添加 2022-07-05 18:23:30 +08:00
design_main.puml 提交 plantuml 图, 对细节修改都要修改内容 有绩可循 2022-07-05 13:59:07 +08:00
pom.xml ratis grpc版本 2022-08-04 18:07:48 +08:00
readme.md TODO: 解决读一致性死锁的问题. 异步很容易导致死锁 2022-08-01 18:09:31 +08:00
restart.sh TODO: 完成注解 2022-07-29 02:14:47 +08:00
start.sh TODO: 解决读一致性死锁的问题. 异步很容易导致死锁 2022-08-01 18:09:31 +08:00
stop.sh 加入vscode调试方式 2022-07-27 16:25:10 +08:00

使用

状态机的使用

  • 实现一个Master循环
@MasterRegister
public class MasterProcessor implements MasterExecute {

    /**
     * 主循环入口
    */
    @Override
    public void loop(MasterContext cxt) {
        //TODO:
    }
}
  • 实现多个Worker RPC接口
@WorkerRegister
public class PacketsProcessor implements RpcProcessor<PacketsProcessor.PacketsRequest> { 

    /**
     * 请求参数类
    */
    @Setter
    @Getter
    public static class PacketsRequest implements Serializable {
        private ArrayList<Any> packets = new ArrayList<>(); // 传参
        private int Code; // 传参
    }


    @Override
    public void handleRequest(RpcContext rpcCtx, PacketsRequest request) { 
        // TODO: 处理请求
    }

    /**
     *  返回请求的类名
    */
    @Override
    public String interest() {
        return PacketsRequest.class.getName();
    }
}