Есть опыт использования Terracotta с открытым исходным кодом? - PullRequest
9 голосов
/ 11 ноября 2008

Есть ли у кого-нибудь опыт использования предложений с открытым исходным кодом от Terracotta, в отличие от предложений своих предприятий? В частности, мне интересно, стоит ли использовать терракоту без корпоративных инструментов для управления кластером?

Чрезмерно упрощенная сводка по использованию: у нас небольшой стартап с ограниченным бюджетом, который должен обрабатывать миллионы записей и масштабировать для сотен тысяч просмотров страниц в день.

Ответы [ 4 ]

8 голосов
/ 14 ноября 2008

Я нахожусь в процессе интеграции Terracotta с моим проектом (симулятор сети сенсорного узла). Около трех недель назад я узнал о терракоте от одного из моих коллег. И теперь мое приложение использует сеточные вычисления с использованием терракоты. Ниже я кратко изложил некоторые важные моменты моего опыта с терракотой.

  • Терракотовый сайт содержит довольно подробную документацию. Эта статья, вероятно, хорошая отправная точка для разработчика Руководство по концепции и архитектуре
  • Если вы застряли с проблемой и не нашли ответа в документации, форум сообщества 1003 * Terracotta - это хорошее место, чтобы задавать вопросы. Похоже, что разработчики терракоты проверяют это регулярно и довольно быстро реагируют.
  • Несмотря на то, что Terracotta работает под управлением JVM и объявлено, что запуск приложения в кластере зависит только от конфигурации, вы должны быть готовы к тому, что для его выполнения может потребоваться внести серьезные изменения в приложение. выполнять достаточно хорошо. Например. Мне пришлось полностью переписать логику синхронизации моего приложения.
  • Хорошая интеграция с Eclipse.
  • Консоль администратора - отличный инструмент, и он мне очень помог в настройке моего приложения для достойной работы под терракотой. Он собирает все показатели производительности с серверов и клиентов, о которых вы только можете подумать. Конечно, есть некоторые проблемы, связанные с графическим интерфейсом, но у кого нет: -)
  • Предпочитают стандартные примитивы Java Synchronization (синхронизированные / wait / notify) над java.util.concurrent. * Гражданами. Я обнаружил, что стандартные примитивы обеспечивают более высокую гибкость (их можно настроить как блокировку кластера чтения или записи или даже вообще не блокировать), их легче отслеживать в консоли администратора (вы скорее видите имя класса блокируемого объекта) затем, например, ReentrantLock).

Надеюсь, это поможет.

5 голосов
/ 11 ноября 2008

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

Лицензия Enterprise также дает вам такие вещи, как поддержка, компенсация и т. Д., Которые могут или не могут быть столь же важны для вас, как инструментарий.

Я бы посоветовал вам попробовать это сами. Если вы хотите увидеть пример реального приложения, использующего Terracotta, вам следует проверить это справочное веб-приложение, которое было только что выпущено:

Экзаменатор

1 голос
/ 11 ноября 2008

Возможно, вы захотите взглянуть на JBossCache / PojoCache, который представляет собой решение распределенного кэширования в памяти. Разница в том, что он использует простой API для распространения объектов по вашему «кластеру» кешей, где Terracotta работает на уровне загрузки классов / jvm.

(На самом деле у них нет собственной JVM, но они изменяют классы по мере их загрузки, чтобы позволить им быть «кластеризуемыми»)

Нашей компании очень повезло с JBossCache, я бы рекомендовал проверить это.

0 голосов
/ 11 ноября 2008

Обновление

То, что я вижу в сообщении ОП: «ну, я действительно не знаю, что нам нужно (отсюда и отсутствие подробных требований), но, может быть, какой-то предпринимательский инструмент волшебным образом решит все наши проблемы, известные и непредвиденные? было бы удивительно ! "

При таком архитектурном подходе он не полетит. Никакие истории успеха из Теракотты не изменили бы это.

OSS выгодно, когда сообщество вокруг него может заменить коммерческую поддержку. Предположим, у парня проблемы с производством. Сообщество не может помочь - оно слишком мало для такого непонятного продукта, как этот. Серверы не работают, бизнес в опасности. Ты видишь? Вам нужна коммерческая лицензия заранее. Нет денег? Ну, тогда вы не бизнес и, вероятно, не станете им (если никто не хочет в это инвестировать).

Извините, что прерываю ваши дневные сны.

ИМХО:

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

Другими словами: если у вас нет бюджета на его покупку, это, вероятно, не выгодно для вашего проекта.

...