#java #caching #ehcache #distributed-caching #ehcache-2
Вопрос:
Требование :
Я хочу получить все сведения о членстве в группе учетных записей от поставщика данных и подготовить кэш учетной записи для списка связанных групп. Мне нужно подготовить кэш для группы 4000, и ответ api слишком медленный, поэтому я выбрал среду с несколькими серверами и сохранил данные в распределенном Ehcache.
Текущая Конструкция:
У меня есть 4 сервера
Шаг 1:
- Сервер 1 делит количество групп на 4 равные части.
- таким образом, каждый сервер может получать данные для 1000 групп. Также создайте распределенный кэш ehcache для хранения учетных записей для групповых ассоциаций.
- реплицируйте этот кэш на другие 3 сервера. (Другой сервер ждет завершения шага 1)
Шаг 2 :
- Все 4 сервера смотрели, как они получают данные от поставщика данных и помещают их в распределенный кэш.
- Серверы могут обновлять данные для одного и того же ключа в кэше.
У меня есть некоторые сомнения по поводу вышеприведенного дизайна
- Насколько я понимаю, каждый сервер имеет свою собственную реплицированную копию кэша, поэтому, когда я обновляю какой-либо элемент кэша, обновляется ли он на локальной реплицированной копии?
- Если сервер 1 обновит элемент в кэше, как другой сервер получит обновленное значение?
- Если обновленный кэш реплицируется на всех серверах для каждой операции обновления через RMI, то что произойдет, если сервер 1 обновит элемент в кэше и до того, как это обновление будет реплицировано на другие серверы, сервер 2 также обновит тот же элемент.