Giter Site home page Giter Site logo

Comments (7)

yugui avatar yugui commented on May 2, 2024 3

untitled drawing

This is how grpc-gateway usually works. So you don't need dive into the complicated world of error handlings, concurrency and garbage collection in CGO.

With CGO, in theory it is still possible to run the reverse-proxy server in the same process as the gRPC server. But usually it is not very beneficial.
https://github.com/yugui/grpc-gateway/tree/example/embed/examples/cmd/example-cxx-server.

from grpc-gateway.

yugui avatar yugui commented on May 2, 2024

No, I don't have any plan to do.

I wonder why you need C++ version. Since it generates a reverse-proxy, it does not restrict the language in which you implement your gRPC server.
Also I don't think C++ version will significantly improve the performance of the proxy.

They only benefit which comes to my mind is that C++ version would be able to support arbitrary message without rebuilding the proxy because C++ has a support of DynamicMessage.

What do you think?

from grpc-gateway.

yugui avatar yugui commented on May 2, 2024

The question seems to be resolved.

https://groups.google.com/d/msg/grpc-io/JnjCYGPMUms/2TSnRPm7E7cJ

from grpc-gateway.

yanivx avatar yanivx commented on May 2, 2024

Hi All,

Is there any C/C++ api gateway developed as on today if not are there any examples I can refer to understand how I can link this reverse-proxy with my gRPC server written in C++

from grpc-gateway.

yugui avatar yugui commented on May 2, 2024

Is there any C/C++ api gateway developed as on today

AFAIK, no.

are there any examples I can refer to understand how I can link this reverse-proxy with my gRPC server written in C++

It is probably possible to link the generated go code with C++ server since CGO can generate a shared library.
But can I confirm what you really need in case? For what purpose are you trying to link the reverse-proxy to your gRPC server? For reducing network latency? For simplicity of deployment and monitoring?
If it is for network latency, I don't think linking solves the problem because the reverse proxy still communicates with the gRPC server over TCP or a unix domain socket.

from grpc-gateway.

yanivx avatar yanivx commented on May 2, 2024

client server

This is what I am looking for.

It is probably possible to link the generated go code with C++ server since CGO can generate a shared library.

But How ? I am new to this and will be really helpful If I find some example to do it.

from grpc-gateway.

yanivx avatar yanivx commented on May 2, 2024

Thank you so much @yugui 😃

from grpc-gateway.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.