Я оцениваю Terracotta, чтобы помочь мне масштабировать приложение, которое в настоящее время ограничено оперативной памятью. Это совместный фильтр, который хранит около 2 килобайт данных на пользователя. Я хочу использовать Amazon EC2, что означает, что я ограничен 14 ГБ ОЗУ, что дает мне эффективную верхнюю границу около 7 миллионов пользователей на сервер. Мне нужно иметь возможность выйти за рамки этого.
Основываясь на прочитанном до сих пор, я понял, что Terracotta может иметь кластеризованную кучу, превышающую доступную оперативную память на каждом сервере. Было бы целесообразно иметь эффективную кластеризованную кучу объемом 30 ГБ или более, где каждый из серверов поддерживает только 14 ГБ?
Данные для каждого пользователя (большую часть которых составляют массивы с плавающей запятой) изменяются очень часто, потенциально сотни тысяч раз в минуту. Нет необходимости синхронизировать каждое из этих изменений с другими узлами кластера в момент их возникновения. Можно ли периодически синхронизировать только некоторые поля объекта?