Установка WSO2 greg и диспетчера API на другую виртуальную машину с общим MySQL

Я устанавливаю greg и менеджер APi, используя эту конфигурацию:

1 ВМ для MySQL

1 виртуальная машина для API

1 ВМ для БАМ

1 ВМ для Грега

Все последние текущие выпуски

Я блуждаю, что является лучшей конфигурацией.

Моя идея заключалась в том, чтобы иметь все инструменты для размещения данных в MySQL, но я блуждаю по тому, как собрать всю БД в различных файлах конфигурации. APi должен указывать на запуск реестра на своей виртуальной машине и на экземпляр BAM, но глядя на реестр moaster-datasource.xml я нашел также это:

<datasource>
        <name>WSO2AM_DB</name>
        <description>The datasource used for API Manager database</description>
        <jndiConfig>
            <name>jdbc/WSO2AM_DB</name>
        </jndiConfig>
        <definition type="RDBMS">
            <configuration>
                <url>jdbc:h2:repository/database/WSO2AM_DB;DB_CLOSE_ON_EXIT=FALSE</url>
                <username>wso2carbon</username>
                <password>wso2carbon</password>
                <driverClassName>org.h2.Driver</driverClassName>
                <maxActive>50</maxActive>
                <maxWait>60000</maxWait>
                <testOnBorrow>true</testOnBorrow>
                <validationQuery>SELECT 1</validationQuery>
                <validationInterval>30000</validationInterval>
            </configuration>
        </definition>
    </datasource>

Это означает, что реестр имеет доступ к БД менеджера API ... зачем?

Мне также придется добавить ESB и BPS, чтобы эта архитектура развертывания стала сложной. Любые подсказки Спасибо, Лука.


person Luca Gioppo    schedule 18.01.2013    source источник


Ответы (2)


Серверы WSO2 используют базу данных H2, которая поставляется по умолчанию. Поэтому, если вы запустите новый пакет, который будет работать в своем собственном экземпляре базы данных.

Чтобы разделить данные реестра между серверами, вам необходимо настроить монтирование реестра. Это будет полезно для создания JDBC монтаж. Но если у вас один экземпляр сервера, то вы можете опустить часть статьи о кластеризации. Вы можете следовать той же конфигурации и для других серверов (BAM, менеджер API и BPS), чтобы настроить монтирование JDBC. Так что все ваши данные будут храниться в MySql и распределяться между серверами.

Если вам нужно хранить информацию о пользователях также в JDBC и делиться ею между серверами, вам придется добавить еще один источник данных в master-datasource.xml и использовать его в CARBON-HOME/repository/conf/user-mgt.xml вместо источник данных по умолчанию.

Менеджер API имеет несколько разных источников данных для своих целей. Это не означает иметь какие-либо отношения с реестром. По умолчанию «WSO2CarbonDB» используется только для целей реестра и управления пользователями, как указано в описании каждого источника данных.

person Reka    schedule 21.01.2013
comment
постараюсь объяснить лучше: я хочу иметь 1 сервер MYSQL один реестр, который использует MySQL вместо H2 диспетчер API будет на другом хосте и будет использовать тот же MySQL и реестр для хранения данных, поэтому ему нужно будет что-то добавить в MySQL и что-то будет просто указывать на существующий реестр Чем будет BAM и на другом хосте Что можно поместить в MySQl, что может быть просто указателем на реестр? Эта часть непонятна 4) Откройте axis2.xml и включите кластеризацию. (GREG_HOME/repository/conf/axis2) Является ли это обязательным, поскольку существует больше продуктов, указывающих на это? - person Luca Gioppo; 24.01.2013
comment
Вам нужна кластеризация только тогда, когда у вас есть более одного экземпляра определенного продукта. Допустим, если у вас есть два или более диспетчера API, то для связи между экземплярами диспетчера API вам потребуется кластеризация. Вы можете использовать BAM для хранения своей статистики, а также настроить BAM для использования Mysql. По сути, вам нужно будет смонтировать реестр соответствующих продуктов в Mysql. Так что все будут делиться реестром. - person Reka; 01.02.2013
comment
Итак, чтобы убедиться, что я правильно понял: у меня может быть 1 MySQL, где я сначала создаю базу данных GREG, а затем создаю BAM и диспетчер API, которые указывают на одну и ту же базу данных MySQL GREG вместо того, чтобы иметь свой собственный экземпляр (это для экземпляра REG, но сохраняйте conf и local на ВМ каждого продукта) - person Luca Gioppo; 03.04.2013

Вы можете использовать подключенную базу данных для решения вашей проблемы. пожалуйста, обратитесь к [1], чтобы узнать, как установить направляющую.

[1]. http://ajithvblogs.blogspot.com/2012/09/create-jdbc-mount-to-wso2-governance.html

Спасибо, Даршана

person Dharshana    schedule 16.02.2013
comment
в упомянутом как есть шаг, на котором мне нужно открыть axis2.xml и включить кластеризацию как в GREG, так и в ESB, это всегда необходимо или только в том случае, если продукт, который я хочу смонтировать в GREG, кластеризован? Кажется, что GREG нужен для оповещения всех продуктов монтирования об изменениях, а отдельные экземпляры монтирования нуждаются в том, чтобы он был выровнен по изменениям, поэтому в случае, если я разделяю один GREG между 1 ESB и 1 APIman, должен ли я активировать кластеризацию? Спасибо, Лука. - person Luca Gioppo; 03.04.2013
comment
Кластеризация и монтирование - это 2 разных сценария. Но для включения кэширования между подключенными узлами вам необходимо установить ‹clustering class=org.apache.axis2.clustering.tribes.TribesClusteringAgent enable=true/› - person Dharshana; 03.04.2013
comment
Вы можете обратиться к docs.wso2.org/wiki /display/Governance453/ для получения дополнительных разъяснений - person Dharshana; 03.04.2013