sijie commented on issue #271: Consider using gRPC as an externally exposed API
URL: https://github.com/apache/pulsar/issues/271#issuecomment-559559488
@mickdelaney @TC-oKozlov thank you for your input.
just to understand a bit more about the requirements, are you expecting a
gRPC based proxy or pulsar broker protocol exposed in gPRC? This would lead
into two different approaches.
A gRPC based proxy means providing a much simpler protocol than the current
broker protocol. So it is easy to have different language gRPC clients. But it
will has its own limitations and drawbacks, such as another network hop, and
some of the features might be hard to support and etc.
Exposing pulsar broker protocol in gPRC can solve the problem in handling
wire-level request & response encoding and decoding. However the challenge of
implementing a Pulsar client is not about handling wire-level encoding and
decoding. It is more about the logic within a Pulsar client, such as
flow-control, topic lookup, error handling and etc. So we will still be facing
the same challenges that current Pulsar client is facing. It is probably even
worse than implementing language client wrapper using Pulsar c/c++ client,
because implementing a language client wrapper is much simpler and less error
prone than re-implementing flow-control, topic lookup and error handling in
different languages.
I would like to collect more requirements of gRPC to understand what is the
right approach for solving the problem here.
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.
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org
With regards,
Apache Git Services