[ 
https://issues.apache.org/jira/browse/AVRO-2172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16460500#comment-16460500
 ] 

ASF GitHub Bot commented on AVRO-2172:
--------------------------------------

srujann opened a new pull request #308: AVRO-2172: Avro binding for gRPC (Java 
Implementation)
URL: https://github.com/apache/avro/pull/308
 
 
   To enable avro based schema and RPC IDL to be transported over gRPC.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Avro over gRPC (Java Implementation)
> ------------------------------------
>
>                 Key: AVRO-2172
>                 URL: https://issues.apache.org/jira/browse/AVRO-2172
>             Project: Avro
>          Issue Type: New Feature
>          Components: java
>            Reporter: Srujan Narkedamalli
>            Priority: Major
>
> We (wavefront/VMware) have implemented a java library/module for using RPC 
> defined using Avro (.avdl/.avpr) over gRPC, and would like to contribute this 
> to Apache Avro. gRPC provides ability to build streaming RPC and also in 
> terms of Java implementation its built on recent version of Netty (4.x).  
> Overview of our Avro-gRPC Java Implementation:
> gRPC by default provides support for Protobuf  IDL and the APIs are tuned 
> towards it. Following are main differences in gRPC API/Protobuf and Avro's 
> RPC IDL that our library bridges:
>  * Protobuf/gRPC supports only single argument for RPC request vs Avro's 
> multiple arguments. This is handled in serialization logic.
>  * Protobuf/gRPC does not support throwing typed exceptions over wire 
> natively. Avro’s typed RPC exceptions are handled in the serialization logic.
>  * Protobuf/gRPC does not support one-way RPC. We don’t avoid doing 
> round-trip to server but respond back with null response as soon as request 
> is received at server, and then invoke the server implementation.
>  * gRPC provides RPC code generation for Protobuf. For Avro, we use the 
> current minimal code generation, and provide Client and Server Invocation 
> handlers.
>  
> Can we have this as a new artifact/maven child project in Avro Java project 
> with a name something like `avro-grpc` ?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to