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

ASF subversion and git services commented on AVRO-2172:
-------------------------------------------------------

Commit 0f25ed1f6a78ad0356f4d0202f570cf09ed3f601 in avro's branch 
refs/heads/master from [~srujann]
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=0f25ed1 ]

AVRO-2172: Avro binding for gRPC to enable avro based schema and RPC IDL to be 
transported over gRPC.


> 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