[openstack-dev] [nova][oslo] RPC Asynchronous Communication
ozamiatin
ozamiatin at mirantis.com
Thu May 7 10:05:51 UTC 2015
Hi,
I generally like the idea of "async CALL". Is there a place in Nova (or
other services) where the new CALL may be applied to see advantage?
Thanks,
Oleksii Zamiatin
07.05.15 12:34, Sahid Orentino Ferdjaoui пишет:
> Hi,
>
> The primary point of this expected discussion around asynchronous
> communication is to optimize performance by reducing latency.
>
> For instance the design used in Nova and probably other projects let
> able to operate ascynchronous operations from two way.
>
> 1. When communicate between inter-services
> 2. When communicate to the database
>
> 1 and 2 are close since they use the same API but I prefer to keep a
> difference here since the high level layer is not the same.
>
> From Oslo Messaging point of view we currently have two methods to
> invoke an RPC:
>
> Cast and Call: The first one is not bloking and will invoke a RPC
> without to wait any response while the second will block the
> process and wait for the response.
>
> The aim is to add new method which will return without to block the
> process an object let's call it "Future" which will provide some basic
> methods to wait and get a response at any time.
>
> The benefice from Nova will comes on a higher level:
>
> 1. When communicate between services it will be not necessary to block
> the process and use this free time to execute some other
> computations.
>
> future = rpcapi.invoke_long_process()
> ... do something else here ...
> result = future.get_response()
>
> 2. We can use the benefice of all of the work previously done with the
> Conductor and so by updating the framework Objects and Indirection
> Api we should take advantage of async operations to the database.
>
> MyObject = MyClassObject.get_async()
> ... do something else here ...
> MyObject.wait()
>
> MyObject.foo = "bar"
> MyObject.save_async()
> ... do something else here ...
> MyObject.wait()
>
> All of this is to illustrate and have to be discussed.
>
> I guess the first job needs to come from Oslo Messaging so the
> question is to know the feeling here and then from Nova since it will
> be the primary consumer of this feature.
>
> https://blueprints.launchpad.net/nova/+spec/asynchronous-communication
>
> Thanks,
> s.
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list