Comments (3)
Hi Yuri,
I don't know anything about mprpc, but the nameko http entrypoint is broker-less so you should be able to get some ideas there.
From a quick glance, mprpc is build on top of gevent, which might not play nicely with eventlet
from nameko.
The basic answer to this question is that it's possible to build a pair of nameko extensions to handle any kind of protocol. The built-in RPC implementation uses a (very simple) nameko-defined protocol on top of AMQP, but you could use any protocol on on transport.
You need an Entrypoint to handle incoming requests, and a client of some form to generate them. We don't really have docs on writing entrypoints, but you can study the nameko.web
package for a simple example. It's built on werkzeug
so what you find in that package is really the essence of an entrypoint.
I'm going to close this issue but please write to the mailing list if you decide to move forwards on this.
from nameko.
Hi @mattbennett @davidszotten ,
what you've provided is a server-side part example, which is trivial to produce,
but I haven't seen any client-side example -- for HTTP you used curl, and for any RPC you always use AMQP.
Do I need just to use my chosen library (mprpc) client implementation , but replace server-side @rpc with my own server decorator?
Am I right that I also need to implement all in rpc package by myself then?
So, how to make it reusable for another RPC protocol? Do you have any API docs but this https://nameko.readthedocs.io/en/stable/built_in_extensions.html#rpc ?
Or is it free from any API obligations?
from nameko.
Related Issues (20)
- nameko.exceptions.UnknownService: Unknown service `service_x` HOT 2
- Incompatible versions in the resolved dependencies between Nameko and Celery in Kombu HOT 4
- Use another augmented assignment statement HOT 1
- Check for existing key HOT 1
- Should ipython and bpython be listed in some configuration files? HOT 1
- Why using dnspython 1.x instead of 2.x ? HOT 8
- need upgrade to support python 3.10 HOT 2
- Publisher crashing when exchange is provided and RabbitMQ is down
- Nameko crashes when consuming illegal messages HOT 6
- [ DOUBT ] Events Pub / Sub - How can I make a consumer only run one event at a time
- from nameko.rpc import rpc class GreetingService: name = "greeting_service" def hello(self, name): return "Hello, {}!".format(name)
- Timer work on master process or every process? HOT 2
- dnspython dependency version overly restrictive HOT 3
- "verify_amqp_uri" in the module "nameko.amqp.utils" had been removed? HOT 2
- Should HttpRequestHandler print out the exception to the browser? HOT 2
- nameko multiprocess problem HOT 1
- Do you die? we need you to improve Nameko Library HOT 5
- DB Migrations not working with Flask-Migrate HOT 2
- Linking nameko and golang by RPC HOT 1
- dnspython version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nameko.