Если у вас есть несколько клиентов, изменяющих одни и те же данные одновременно, в конце дня ваша система должна реализовать своего рода Контроль параллелизма . В общих чертах это будет делиться на одну из двух категорий: пессимистический или оптимистичный.
В вашем случае это звучит так, как будто вы идете по оптимистичному маршруту, посредством которого любой может получить доступ к ресурсу через службу - он не блокируется и не доступен исключительно. В конечном итоге это означает, что вам необходимо обнаруживать и разрешать конфликты, которые возникнут, когда один клиент изменяет данные перед другим.
Второе архитектурное требование, которое вы, похоже, описываете, - это способ синхронизации изменений между клиентами. Это очень сложная проблема. Одним из способов является создание какой-либо системы публикации / подписки, при которой после получения клиентом некоторых ресурсов из службы он также подписывается на получение обновлений об изменениях ресурса. Вы можете сделать это либо в режиме push, либо в режиме pull (pull, вероятно, проще, т.е. просто запрашивает изменения).
По сути, вы пытаетесь решить достаточно сложную проблему, но она также часто появляется в программном обеспечении.