[
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)