Терракота не имеет ничего общего с «кэшированием», хотя большинство реализаций используют его для целей кэширования.
Терракота о кластеризации, а сама терракота реализована с использованием Java (насколько мне известно).
Как Terracotta достигает кластеризации:
1) JVM1 работает APP
2) JVM2 работает APP (то же самое)
3) JVM3 работает APP (то же самое)
Без Terracotta все JVM работают независимо, не зная друг о друге, выполняя некоторые избыточные задачи и поддерживая свои независимые кучи
Когда вы включаете Terracotta (сервер Terracotta работает) через эти 3 JVM (настроенные для использования сервера Terracotta)
Терракота дает логическое представление о всех 3 JVM как одной JVM. Любой объектный граф, который вы определили для хранения на сервере (Root), доступен для всех 3 JVM, как и любой локальный объект, но каждая JVM может читать / записывать этот объект, чьи изменения немедленно (~) доступны для других JVM.
Именно по этой причине Terracotta используется в основном для кэширования и распределенных вычислений, поскольку незанятые JVM без работы могут обрабатывать работу сильно загруженной запаздывающей JVM, если объект единицы работы назначен для совместного использования.