2010-05-03 1 views
6

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

+1

никогда не слышал об этом раньше, но googling для «терракотового распределенного кеша» дал мне это: http://www.terracotta.org/confluence/display/labs/Distributed-Cache+Webcast –

+1

Звучит почти как домашний вопрос для некоторые CS выборные. o.0 – Amber

+0

@ Dav - «почему или почему нет» также дает мне паузу. –

ответ

9

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

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

+0

Да, я имел в виду платформу Terracotta с открытым исходным кодом для Java. Добавлена ​​ссылка в вопрос на веб-сайт Terracotta. –

2

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

6

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

Как достигает Терракотовая кластеризация:

1) JVM1 работает приложение 2) JVM2 работает APP (же) 3) JVM3 работает APP (же)

Без Terracotta все виртуальные машины работают независимо друг от друга с вне зная друг о друг выполнения некоторых повторяющихся задач и поддержании их независимой кучки

При включении Terracotta (бегущая Терракотовой сервер) через эти 3 виртуальных машины (настроено на использование сервера Терракотового)

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

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

1

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

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