Имеет ли смысл объединять терракоту с кластером серверов приложений Java EE? - PullRequest
0 голосов
/ 23 марта 2011

Терракота используется для масштабирования приложений JVM.Вот краткое описание Википедии:

Terracotta - это программное обеспечение для кластеризации на уровне Java с открытым исходным кодом для Java.Он обеспечивает кластеризацию в качестве службы инфраструктуры времени выполнения, что упрощает задачу кластеризации Java-приложения путем кластеризации JVM под приложением вместо кластеризации самого приложения.

Я понимаю, почему следует использовать Terracottaесли вы хотите масштабировать приложение Java SE.

Мой вопрос: имеет ли смысл использовать терракоту, если вы также используете сервер приложений Java EE, такой как WebSphere AS, который уже поддерживает кластеризацию приложений?Когда следует использовать как в комбинации, так и почему?

Ответы [ 2 ]

4 голосов
/ 23 марта 2011

Суреш, Terracota обеспечивает значительное повышение производительности при использовании на серверах приложений Java EE.

The Terracotta Server can be thought of as a shared L2 for all machines to leverage. Access to the L2 costs more than access to the L1—in the case of Terracotta, this is due to the fact that the L2 is across a network connection from all JVMs—but the L2 is cheaper than other I/O such as database or messaging that would otherwise be invoked.

В отличие от Zing Platform (Azul-Systems), который масштабируется за счет снятия ограничений размера кучи, позволяет каждому экземпляру масштабировать до сотен ГБ памяти кучи и десятков ядер плавно и эластично. Обычные JVM не могут масштабироваться за пределы 2-3 ГБ.

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

0 голосов
/ 23 марта 2011

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

...