123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /**
- 消息队列实现,对应包为 mq
- 其中 mq/consumer 为消息消费端,mq/publisher 为消息发布端服务
- -- 项目地址:https://gogs.ywtinfo.com/ywt/go_base_core.git
- */
- syntax = "proto3";
- package com.ywt.gapi.mq;
- option java_generic_services = true;
- option java_multiple_files = true;
- option java_package = "com.ywt.gapi.mq";
- option go_package = "/gapi";
- //gRPC消息队列请求消息体
- message ExecuteGRPCRequest {
- string method = 1; //gRPC方法名(/${package}.${service}/${method}),如:/com.ywt.gapi.mq.MQExecutorService/executeGRPC
- bytes data = 2; //gRPC方法的参数(byte序列化)
- int32 priority = 3; //优先级(暂时保留设计)
- string msgId = 4; //消息ID,不需传入(仅为了消息完整性而定义)
- }
- //gRPC请求消息体入队返回结果
- message ExecuteGRPCResponse {
- int32 code = 1; //返回码(0:成功, 1:失败)
- string msgId = 2; //消息ID
- }
- message ExecuteRestRequest {
- message Header {
- string key = 1;
- string value = 2;
- }
- string url = 1; //rest服务url格式:rest://${serviceName}/${path},如:rest://com.ywt.MgDrugService/path1/path2
- bytes body = 2; //包体
- int32 priority = 3; //优先级(暂时保留设计)
- string msgId = 4; //消息ID,不需传入(仅为了消息完整性而定义)
- string method = 5; // get | post
- repeated Header headers = 6;
- }
- message ExecuteRestResponse {
- int32 code = 1; //返回码(0:成功, 1:失败)
- string msgId = 2; //消息ID
- }
- //基于消息队列的导步执行器 // 对应 go_base_core 项目 --> mq --> publisher --> publisher.go 文件
- service MQExecutorService {
- rpc executeGRPC (ExecuteGRPCRequest) returns (ExecuteGRPCResponse); //异步执行gRPC请求
- rpc executeRest (ExecuteRestRequest) returns (ExecuteRestResponse); //异步执行rest服务请求
- }
|