You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2021/10/28 03:57:18 UTC

[GitHub] [rocketmq] drpmma edited a comment on pull request #3422: [ISSUE #2978] Implement gRPC protocol for rocketmq

drpmma edited a comment on pull request #3422:
URL: https://github.com/apache/rocketmq/pull/3422#issuecomment-953480310


   > Great work, quite a big PR. I am suggesting you can add some doc help reviewing this, like the core method call path, or which classes should be reviewed thoroughly.
   
   ### Traffic Path
   The traffic path is described as below.
   gRPC Client -> remoting protocol port -> protocol negotiation handler -> gRPC protocol port -> gRPC service
   
   ### Main Classes
   * The gRPC service is the main process logic for grpc protocol.
   * The protocol negotiation handler redirect gRPC HTTP2 protocol from netty remoting protocol port to actual gRPC port to make it compatible.
   * And the mock Channel / ChannelHandlerContext will write gRPC response for Channel.writeAndFlush and ChannelHandlerContext.writeAndFlush.
   
   ```shell
   ### gRPC service
   org.apache.rocketmq.broker.grpc.BrokerGrpcService
   org.apache.rocketmq.namesrv.grpc.NameServerGrpcService
   ### protocol negotiation handler
   org.apache.rocketmq.remoting.netty.protocol.ProtocolNegotiationHandler
   ### mock channel
   org.apache.rocketmq.broker.grpc.adapter.*
   ```
   
   grpc/README.md is updated as well


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org