3 ms·
Not everything that uses lots of services needs to be a classical "microservice" architecture, where every service can call every other service. You can have a
by perlgeek 7y ago
Not everything that uses lots of services needs to be a classical "microservice" architecture, where every service can call every other service.
You can have a component that coordinates workflows (can be a different component for each workflow, or can be one central component, depending on your need to scale vs. simplicity).
In the OpenStack project, they developed TaskFlow[0] for that. It allows you to build graphs of tasks, handles parallelization, persistence of meta information (if desired) and, important for your use case, rollback functions in case of errors.
[0]: https://docs.openstack.org/taskflow/latest/ https://docs.openstack.org/taskflow/latest/