[openstack-dev] [Mistral] Engine overview and proposal
Dmitri Zimine
dz at stackstorm.com
Mon Mar 31 19:49:08 UTC 2014
I am in the full agreement with the proposed approach (risked to copy below, let's see if email handles your diagrams):
* Single Engine handles multiple executions asynchronously, in non-blocking way.
* Persistence access only from API and/or Engine, Engine writes, API reads.
* Action runes don't talk to DB - it's very simple protocol and queue is perfectly fine.
* This is scalable and as fault tolerant as underlying DB and Queue. Engine restart is no loss of info with right persistense; ActionRunner restart is a lost of Action, which can fail for 100 other reasons thus expected, and with the right retry policy potentially recoverable.
I'll inline minor points in the etherpad.
API Engine Queue Database Workers
| | | | | | | |
-------> +-+ | | | | | | |
|S| | | | | | | |
|t| --> +-+ | | | | | |
|a| | | < - - - - - - - -> | | |
|r| | | - - - -> t - - - - - - - - - > +-+ |
|t| <-- +-+ | | | | | | |
<------- +-+ | | | | | | | |
| | +-+ <- r <- - - - - - - - - - +-+ |
-------> +-+ | | | <- - - - - - > R | |
|I| | | | - -> t - - - - - - - - - > +-+ |
|n| | | | - -> t - - - - - - - - - - - > +-+
|f| | +-+ | | | | | | |
|o| <- - - - - - - - - - - - > | | | | |
<------- +-+ | +-+ <- r <- - - - - - - - - - -+-+ | |
| | | | <- - - - - - > R | | |
-------> +-+ | +-+ | | | | | |
|S| --> +-+ | | | | | | |
|t| | | <- - - - - - - - > | | | |
|o| <-- +-+ | | | | | | |
|p| | +-+ <- r < - - - - - - - - - - - - +-+
<------- +-+ | | | <- - - - - - > R | |
| | |%| | | | | |
| | +-+ | | | | |
| | | | | | | |
On Mar 31, 2014, at 4:09 AM, Kirill Izotov <enykeev at stackstorm.com> wrote:
> I have an idea regarding engine design i want to share with you. But first, it seems like we need a small overview of the current implementations.
>
> I'm not sure how ML will react on a bunch of ASCII graphs, so here is an etherpad: https://etherpad.openstack.org/p/mistral-engine-overview-and-proposal
>
> What do you think, guys, is this the way to go?
>
> --
> Kirill Izotov
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140331/dfc0347e/attachment.html>
More information about the OpenStack-dev
mailing list