@RequestMapping(value = "/broker")
    public @ResponseBody TubeMQResult brokerMethodProxy(@RequestParam String method, @RequestBody String req)
            throws Exception {
        switch (method) {
            case TubeConst.CLONE:
                return nodeService.cloneBrokersWithTopic(gson.fromJson(req, CloneBrokersReq.class));
            case TubeConst.ADD:
                return masterService.baseRequestMaster(gson.fromJson(req, AddBrokersReq.class));
            case TubeConst.MODIFY:
                return masterService.baseRequestMaster(gson.fromJson(req, ModifyBrokerReq.class));
            case TubeConst.ONLINE:
            case TubeConst.OFFLINE:
                return masterService.baseRequestMaster(gson.fromJson(req, OnlineOfflineBrokerReq.class));
            case TubeConst.RELOAD:
                return masterService.baseRequestMaster(gson.fromJson(req, ReloadBrokerReq.class));
            case TubeConst.DELETE:
                return masterService.baseRequestMaster(gson.fromJson(req, DeleteBrokerReq.class));
            case TubeConst.SET_READ_OR_WRITE:
                return masterService.baseRequestMaster(gson.fromJson(req, BrokerSetReadOrWriteReq.class));
            default:
                return TubeMQResult.errorResult(TubeMQErrorConst.NO_SUCH_METHOD);
        }
    }
broker method proxy
divides the operation on broker to different method
inlong-tubemq/tubemq-manager/src/main/java/org/apache/inlong/tubemq/manager/controller/node/NodeController.java