Вся правда о кластеризации в Liferay 7 CE - Вся правда о кластеризации в Liferay 7 CE
Блоги
Навигационные полоски
Сегодня мы поговорим про кластеризацию Liferay 7 CE - причем про самый интересный и сложный аспект - синхронизацию кешей и scheduler job-ов). Остальные моменты либо не менялись совсем (типа общей базы данных или общего репозитория файлов), либо решаются относительно легко (как например использование внешнего ElasticSearch).
Итак, как мы помним, изначально в Liferay 7 CE поддержку кластеризации (именно кеша и execution job-ов) убрали. Мол если вам нужен кластер - то используйте Liferay DXP. Потом в Liferay одумались - и сказали что вернут кластеризацию - и в Liferay 7.0.4 GA5 сообщили что они ее вернули. Если погуглить на тему "Liferay 7 Clustering" то мы получим страницу с официальной документацией, где четко говорится (переводя на русский) -
Ура! У меня наконец дошли руки проверить что и как, и могу сказать что "не все так однозначно...".
Если верить документации - то для синхронизации кешей вам достаточно прописать 1 строчку в portal-ext.properties ( включить cluster link) - и вуаля - все начнет синхронизироваться. Но если вы скачаете Liferay 7.0.4 GA5, запустите две ноды (например на одной машине, разнеся их по портам), сделаете все остальные приседания (общий репозиторий файлов, общая база данный, общий Elastic Search) и включите cluster link - то вы обнаружите что все работает - но кеши между нодами не синхронизируются...
Почему?
Более глубокое исследование открыло "очевидную" вещь:
То есть, кластеризация, да, доступна начиная с версии GA5, но в дистрибутиве ее нет. Если вы хотите получить кластеризацию - то вам сюда (кстати, никакой информации об этом в документации нет - вы должны сами порыться в интернете и найти эту страницу). И дальше вам надо будет:
- Взять исходники Liferay из github
- Собрать их
- Собрать дополнительные три модуля, которые собственно реализуют кластеризацию
- Убрать модули "без кластеризации"
- Положить модули с кластеризацией
И все - у вас Liferay 7 CE с поддержкой кластеризации - как и было обещано.
В целом проверил - все почти так (ну ессно требуется еще поработать напильником) - но в целом - несколько часов - и действительно кеши в между нодами портала начинают синхронизироваться.
В целом решение Liferay хоть и немного странное - но вполне объяснимое. Они обещали сообществу вернуть кластеризацию - они ее вернули. Для сообщества. То есть для тех, у кого есть голова, руки, а в руках напильник. Конечным пользователям по прежнему рекомендуется брать Liferay DXP где это все есть "из коробки".
Кластеризация: RMI против JGroups
Если у вас все-таки нашлась голова, руки и напильник, и вы смогли настроить себе кластеризацию в Liferay 7 CE - вам может быть интересно и вот это обсуждение. Тут обсуждается что кроме "штатной" кластеризации, основанной на RMI, есть и более продвинутая - основанная на JGroups.
Как это работает - еще не проверял - постараюсь проверить в ближайшее время и отписаться тут.
Связанные объекты:
- Теги
- liferay liferay7 clustering
- 6.2 (12)
- 7.0 (12)
- activiti (14)
- apache camel (6)
- camel (11)
- devcon (6)
- devops (5)
- emdev (9)
- emdev limited (9)
- entaxy (13)
- esb (10)
- fuse (5)
- gartner (7)
- google apps (6)
- jboss (5)
- liferay (143)
- liferay 7.1 (11)
- liferay dxp (11)
- liferay7 (12)
- openshift (8)
- osgi (5)
- redhat (15)
- rest (6)
- wso2 (70)
- wso2 api-m (10)
- wso2 ei (8)
- wso2ei (5)
- wso2esb (7)
- wso2is (8)
- емдев (11)
Сайт использует файлы cookie. Они позволяют узнавать вас и получать информацию о вашем пользовательском опыте. Это нужно, чтобы улучшать сайт. Посещая страницы сайта и предоставляя свои данные, вы позволяете нам предоставлять их сторонним партнерам. Если вы согласны, продолжайте пользоваться сайтом. Если нет – установите специальные настройки в браузере или обратитесь в техподдержку.