Несколько экземпляров того же ServiceA работают на разных jvm. Но все они используют одни и те же данные бэкэнд из базы данных.Распределенное кэширование во избежание дублирования запросов
Когда есть запрос от клиента, ServiceA просматривает, если данные доступны в его базе данных, если он не запрашивает другой ServiceB для получения этих данных и хранения этого в его базе данных и возвращает его обратно клиенту.
Если два клиента запросят одновременно и два экземпляра ServiceA обрабатывают эти запросы, оба этих экземпляра могут эффективно вызвать ServiceB для получения этих данных. Как я должен обрабатывать этот случай, так что в SerivceB будет только один запрос.