Настройка Cyclos кластера на базе Jelastic Platform-as-Infrastructure
Cyclos — банковская он-лайн система с дополнительными модулями для электронной коммерции, средств связи и многих других функциональностей в данной сфере. С помощью динамической структуры Cyclos можно легко создать специализированную платежную систему простым изменением настроек.Недавно Cyclos выпустили новую четвертую версию своего продукта, а Jelastic предоставил возможность установить её в один клик. Это можно сделать через сайт Cyclos (для этого требуется регистрация) или используя JPS виджет на нашей странице Marketplace.Также вы можете установить Cyclos вручную, используя кастомные настройки, необходимые для ваших потребностей. На платформе Jelastic Cyclos можно запустить с помощью таких серверов, как Tomcat, Jetty и Glassfish. В качестве базы данных для Cyclos 4 подходит PostgreSQL (не ниже 9.3 версии). Минимальный необходимый объем памяти для запуска одного Cyclos сервера — 500 MБ (т.е. вам потребуется не менее 4 клаудлетов).
В этой инструкции мы покажем, как настроить высоконадежный и масштабируемый кластер приложения Cyclos с репликацией баз данных и высокой доступностью при помощи облачного хостинга Jelastic.Высокая доступность помогает избежать различных проблем (например, с проведением транзакций), которые могут повлиять на ваших пользователей. Установка приложения на нескольких серверах обеспечивает резервирование, т.е. если один из серверов откажет, его пользователи будут автоматически перенаправлены на другой сервер кластера Tomcat. Все сессии отказавшего сервера будут доступны и на втором сервере благодаря репликации, поэтому пользователи не заметят никаких изменений.
Кроме того, репликация главной и подчиненной PostgreSQL баз улучшает производительность и отказоустойчивость вашего окружения.
Прежде всего, нужно подготовить основу для нашего кластера с приложением — окружение со всеми необходимыми контейнерами.1. Зарегистрируйтесь в Jelastic (если вы не сделали этого ранее) или войдите в вашу учетную запись Jelastic.
2. Нажмите кнопку Создать окружение и выберите:
Tomcat 7 в качестве сервера приложений PostgreSQL 9.3 в качестве базы данных Обратите внимание, что версия базы данных PostgreSQL должна быть не ниже 9.3.
Выставьте лимиты ресурсов по каждому контейнеру. Затем введите имя для вашего окружения, например, cyclos, и нажмите Создать.Всего через минуту окружение будет создано.
Теперь всё готово для разворачивания приложения Cyclos.1. Чтобы скачать архив с приложением, пройдите на веб-сайт Cyclos и зарегистрируйтесь (если Вы не сделали этого ранее).
2. Подтвердите создание учетной записи с помощью полученного электронного письма.Войдите, используя ваши учетные данные, и скачайте архив с приложением.
Обратите внимание, что Вы также можете использовать кнопку Jelastic one-click install, чтобы автоматически установить Cyclos. Для настройки кластерного решения рекомендуется устанавливать Cyclos вручную.
3. Извлеките файлы из .zip архива, который только что скачали.
4. Создайте .WAR файл из содержимого папки web (cyclos-4.0.1/web/).
Просто запакуйте содержимое этой папки в другой zip архив, например, cyclos_4.zip, и измените его название на cyclos_4.war (либо на любое другое с расширением .war).
5. Загрузите Cyclos war файл в Диспетчер дистрибутивов.
6. Затем разверните его в только что созданное окружение.
Теперь можно приступать к настройке репликации баз данных, чтобы защитить приложение от простоя или потери данных.PostgreSQL в окружении с развернутым Cyclos будет использоваться как главная база данных. Для подчиненной базы необходимо создать отдельное окружение.
Перейдите к панели управления Jelastic и создайте окружение с PostgreSQL нодой, которая будет использоваться в качестве подчиненной базы данных. Задайте имя окружения (например, cyclos-slave) и нажмите Создать.
Настройка главной БД 1. В окружении с главной базой данных (с развернутым Cyclos приложением) нажмите кнопку Конфигурация возле PostgreSQL сервера.2. Откройте conf > postgresql.conf файл. Измените следующие настройки для включения потоковой репликации:
listen_address = '*' wal_level = hot_standby max_wal_senders = 10 4. Затем откройте конфигурационный файл pg_hba.conf, который находится в этой же папке (conf).
5. Установите связь с подчиненной базой данных, указав следующие параметры:
host replication all {standby_ip_address}/32 trust Обратите внимание, что после указанных настроек нужно добавить еще одну пустую строку.
6. Перезапустите сервер базы данных для применения настроек.
Настройка подчиненной БД Перейдите к окружению с подчиненной базой данных в списке окружений.1. Нажмите кнопку Конфигурация возле подчиненной базы данных PostgreSQL.
2. В папке conf создайте новый файл recovery.conf со следующими настройками:
standby_mode = 'on' primary_conninfo = 'host={master_ip_address} user=webadmin password={master_password}' Используйте внутренний IP адрес главной базы для обозначения host. Значения параметров user и password можно найти в электронном письме, которое вы получили при создании окружения с главной PostgreSQL базой.
3. Перезапустите сервер базы данных, чтобы изменения вступили в силу.
После настройки обеих баз данных, войдите в панель администрирования главной базы (в составе окружения cyclos) и создайте новую базу:
введите имя для базы данных (например, cyclos4) выберите template0 шаблон и UTF8 кодировку в выпадающих списках нажмите Создать В результате, вы получите новую базу данных, которая будет также среплицированна на подчиненную.
Получить более детальную информацию о том, как проверить или репликация с подчиненной базой данных сработала, можно в документе PostgreSQL Replication.
Теперь нужно выполнить последние шаги конфигурации приложения Cyclos и завершить полную настройку кластера, включив Высокую Доступность.1. Откройте панель управления Jelastic и нажмите кнопку Конфигурация для сервера Tomcat.
2. Перейдите в папку webapps/ROOT/WEB-INF/classes и создайте файл cyclos.properties.
3. Скопируйте содержимое файла cyclos-release.properties в папке class и вставьте его в новосозданный файл cyclos.properties.
4. В открытом cyclos.properties файле укажите данные вашей базы данных PostgreSQL:
в параметре cyclos.datasource.jdbcUrl укажите хост главной базы с именем базы данных, созданной во время настройки БД: jdbc: postgresql://postgres-{env_name}.{hoster_domain}/{db_name} учетные данные к базе, полученные в электронном письме Сохраните сделанные изменения и Перезапустите Tomcat.
5. Наконец, давайте настроим сам кластер. Нажмите кнопку Изменить топологию окружения возле Cyclos окружения.
В открывшемся диалоговом окне включите Высокую Доступность. Установите количество ресурсов для автоматически добавленного NGINX-балансировщика (он будет обрабатывать и распределять все запросы в кластере).
6. Нажмите Открыть в браузере и можете приступать к работе.
Обратите внимание, что первое открытие приложения Cyclos может занять несколько минут, пожалуйста, будьте терпеливы.
После открытия вам необходимо пройти несколько шагов мастера настроек Cyclos, используя данные учетной записи, которую вы зарегистрировали на сайте Cyclos ранее.
На этом всё. Теперь у вас есть собственный высоконадежный кластер Cyclos в облаке. Подобный кластер обеспечит высокую отказоустойчивость, а масштабируемость облака гарантирует, что отказ одного сервера не приведет к перенагрузке остальных. В комментариях ниже вы можете поделиться своим опытом Cyclos кластеризации.