Service deployment should be based on discovery messages distribution.
The procedure is as follows:
- Deploying node sends a message with a service configuration.
- Coordinator calculates the assignments and sends them in another message.
- Nodes check, whether they are assigned to deploy any services, and do so, if they are.
Utility cache won't be needed after these changes are made. All its mentions should be removed from the code.