Является ли Terracotta распределенным кешем?

Является ли Terracotta распределенным кешем?


person Derek Mahar    schedule 03.05.2010    source источник
comment
никогда не слышал об этом раньше, но поиск распределенного кеша terracotta дал мне следующее: terracotta.org/confluence/display/labs/   -  person Bob Kaufman    schedule 04.05.2010
comment
Звучит почти как вопрос домашнего задания для какого-то факультатива CS. о.0   -  person Amber    schedule 04.05.2010
comment
@Dav - почему или почему не заставляет меня задуматься.   -  person Bob Kaufman    schedule 04.05.2010
comment
О каком продукте Terracotta вы говорите?   -  person Yishai    schedule 04.05.2010
comment
Платформа Terracotta для Java. В вопрос добавлена ​​ссылка на сайт Terracotta.   -  person Derek Mahar    schedule 04.05.2010
comment
Нет, это не домашнее задание. Существуют ли на самом деле какие-либо учебные программы бакалавриата по информатике, которые включают изучение терракоты? В любом случае, я удалил почему или почему бы и нет? из вопроса.   -  person Derek Mahar    schedule 04.05.2010
comment
@Bob Terracotta уже много лет известна своим решением для кластеризации JVM (и теперь предлагает более широкое предложение, основанное на нескольких продуктах).   -  person Pascal Thivent    schedule 04.05.2010
comment
Мотивация моего вопроса проистекает из примечания в разделе «Быть ​​услугой имеет преимущества» в главе 1: теория и основа книги «Полное руководство по терракоте» (apress.com/book/view/1590599861), в котором говорится: Некоторые члены сообщества Java называют Terracotta распределенным кешем. Как видно из того факта, что кеши Terracotta являются внутренними, а для оптимизации эффективности кеша требуется внешняя балансировка нагрузки, Terracotta не является кешем. Он просто использует технологию кэширования для обеспечения производительности и масштабируемости приложений.   -  person Derek Mahar    schedule 04.05.2010


Ответы (4)


Хотя вы не указываете, о каком продукте идет речь, я предполагаю, что вы имеете в виду саму платформу с открытым исходным кодом. Короткий ответ — нет, но его можно использовать для написания распределенного кеша, и это было в одном из их собственных продуктов (Ehcache).

Вы можете увидеть обзор того, что такое основной движок здесь (похоже, что они сейчас скрывают информацию о своей платформе с открытым исходным кодом за регистрационной стеной). Это механизм кластеризации, не использующий технологию J2EE, и его основная цель — упростить разработку распределенных вычислений. Помимо кэширования, очевидные варианты использования включают потребности в высокой доступности и масштабируемости. Думайте об этом как о возможности запускать относительно простой Java-код «в облаке», не беспокоясь о многих деталях, которые могут быть связаны с этим.

person Yishai    schedule 03.05.2010
comment
Да, я имел в виду платформу Terracotta с открытым исходным кодом для Java. В вопрос добавлена ​​ссылка на сайт Terracotta. - person Derek Mahar; 04.05.2010

Terracotta не имеет ничего общего с «кешированием», хотя большинство реализаций используют его для целей кэширования. Terracotta — это кластеризация, а сама терракота реализована с использованием java (насколько мне известно).

Как Terracotta достигает кластеризации:

1) JVM1 с запущенным APP 2) JVM2 с запущенным APP (то же самое) 3) JVM3 с запущенным APP (то же самое)

Без Terracotta все JVM работают независимо, не зная друг о друге, выполняя некоторые избыточные задачи и поддерживая свои независимые кучи.

Когда вы включаете Terracotta (работающий сервер Terracotta) на этих 3 JVM (настроенных для использования сервера Terracotta)

Terracotta дает логическое представление обо всех трех JVM как об одной JVM. Любой граф объекта, который вы назначаете для хранения на сервере (Root), доступен для всех 3 JVM, как и любой локальный объект, но каждая JVM может читать/записывать этот объект, чьи изменения немедленно (~) доступны для других JVM.

Именно по этой причине Terracotta используется в основном для кэширования и распределенных вычислений, поскольку бездействующие JVM без работы могут обрабатывать работу сильно загруженной отстающей JVM, если объект единицы работы предназначен для совместного использования.

person Rajendra    schedule 06.03.2011

Ваш вопрос не ясен (у Terracotta есть несколько продуктов), но да, Terracotta Platform действительно предлагает решение для Распределенное кэширование.

person Pascal Thivent    schedule 03.05.2010

Кэш L2 является внешним по отношению к процессору (в нашем случае JVM) и разделяется между ними. Выступая в качестве прозрачного кэша L2, Terracotta объединяет ваш мультикомпьютер в мультипроцессор. Таким образом, это распределенный кеш. Но вы, кажется, не понимаете этого, потому что вы ребята из SW, которые никогда не представляли, что это может быть прозрачным. Вы ожидаете, что кеш — это вещь, которая имеет методы получения/установки и проблему согласованности, которую вам нужно решить на уровне приложения.

Прочтите «Полное руководство по терракоте». Авторы буквально говорят, что Terracotta — это распределенный кеш. Я думаю, они понимают это лучше, чем кто-либо, кто говорит «нет», отвечая здесь.

person Val    schedule 20.05.2012