New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why nameko did not use something like JSON RPC for serialization? #516

Closed
worldmind opened this Issue Feb 25, 2018 · 6 comments

Comments

Projects
None yet
4 participants
@worldmind
Copy link

worldmind commented Feb 25, 2018

As I understood after reading questions #455 and #354 (not found info in docs) nameko use own, non standard, calls serialization to json.
On my opinion it make difficult using nameko in heterogeneous environments, for example yesterday on by.pycon.org I ask @tarekziade why in Mozilla they write REST microservices, and answer was because they using not only python.

@mattbennett

This comment has been minimized.

Copy link
Contributor

mattbennett commented Feb 26, 2018

The main reason is that Nameko started out as a compatibility library for Openstack's Nova RPC protocol.

Nameko has evolved into a framework now though, and you can write your own extensions. It would not be much code to add a set of extensions that did JSON-RPC if that's what you need.

The "built-in" extensions like AMQP-RPC are included in the main library because they're battle-tested and most historical Nameko installations use them.

@worldmind

This comment has been minimized.

Copy link

worldmind commented Apr 15, 2018

gRPC sounds interesting too

@kooba

This comment has been minimized.

Copy link
Member

kooba commented Apr 17, 2018

@worldmind gRPC is very interesting indeed. We are very early in process of exploring feasibility of adding client/server gRPC extensions to Nameko. gRPC relies on HTTP2 and maybe with the help of h2 library this would be possible.

If you look at current official gRPC python support, workflow that is accomplished via statically generated stub (via C core lib) leaves lots to desire. Maybe Nameko implementation could provide simpler, more pythonic approach to creating gRPC services. But again it is very early and the scope is unknown at the moment.

@gpkc

This comment has been minimized.

Copy link

gpkc commented May 20, 2018

@kooba How is support for gRPC going?

@kooba

This comment has been minimized.

Copy link
Member

kooba commented May 22, 2018

@gpkc nothing to report yet.

@mattbennett

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment