Этот пост основан на общих вопросах, касающихся поднятия реестра, его работы и т. Д. Ниже приведены основные вопросы, которые люди задают
1). Как работает монтаж?
2). В чем разница между конфигурацией реестра и реестром управления?
3). Могу ли я использовать базы данных, отличные от H2, для локального реестра?
4). Что подразумевается под путем монтирования и целевым путем?
5). Нужно ли настраивать URL «remoteInstance»?
6). Что я должен использовать в качестве cacheId?
Итак, давайте начнем с того, как настроить монтирование реестра. Когда вы настраиваете монтирование реестра, вы должны добавить соответствующий источник данных в файл master-datasources.xml. В дополнение к этому, вы также должны добавить связанную с монтированием конфигурацию в файл registry.xml.
В файле master-datasources.xml необходимо просто настроить источник данных JDBC, указав URL-адрес JDBC, имя пользователя, пароль, запросы проверки, параметры оптимизации соединения и т. Д. Пример записи источника данных будет выглядеть ниже.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
<datasource> <name>WSO2CarbonDB_Gov</name> <description>The datasource used for registry- config/governance</description> <jndiConfig> <name>jdbc/WSO2CarbonDB_Gov</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:mysql://blog.napagoda.com:3306/REGISTRY_DB?autoReconnect=true</url> <username>chandana</username> <password>password</password> <driverClassName>com.mysql.jdbc.Driver</driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource> |
В файле registry.xml есть много доступных областей. Итак, давайте сначала посмотрим пример конфигурации монтажа.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
|
<dbConfig name="mounted_registry"> <dataSource>jdbc/WSO2CarbonDB_Gov</dataSource></dbConfig> <id>instanceid</id> <dbConfig>mounted_registry</dbConfig> <readOnly>false</readOnly> <enableCache>true</enableCache> <registryRoot>/</registryRoot> <cacheId>chandana@jdbc:mysql://localhost:3306/greg_db</cacheId></remoteInstance><mount path="/_system/config" overwrite="true"> <instanceId>instanceid</instanceId> <targetPath>/_system/apimconfig</targetPath></mount><mount path="/_system/governance" overwrite="true"> <instanceId>instanceid</instanceId> <targetPath>/_system/governance</targetPath></mount> |
Вы можете видеть, что при определении конфигурации монтажа я добавил четыре раздела конфигураций. Это «dbConfig», «remoteInstance» и два раздела записи «mount».
Я думаю, что это легко объяснить сначала с помощью записи mount, затем remoteInstance и dbConfig. В записи монтирования вы можете настроить путь, перезаписать, targetPath и instanceId.
гора
путь — путь — это местоположение в реестре, которое похоже на путь файловой системы. Ресурсы, хранящиеся в этом пути, будут храниться в соответствующей настроенной БД.
overwrite — (Virtual, True, False) Будет ли перезаписана существующая коллекция / ресурс по указанному пути. Виртуальный означает, что изменения хранятся только в памяти и не будут записаны в БД.
instanceId — ссылка на «remoteInstance».
targetPath — путь, который хранится в базе данных.
В двух словах, любые пути реестра, начинающиеся со значения в разделе пути, будут храниться в БД для targetPath (путь будет заменен на targetPath и сохранен в БД). При получении пути к реестру он также выполняет обратную замену. Таким образом, этот целевой путь не будет виден вам вообще. Если вам слишком интересно узнать об этом, вы можете проверить это, запросив таблицу REG_PATH.
remoteInstance
‘remoteInstance’ — это отображение между ‘dbConfig’ и Mounts. Это отображение обрабатывается с помощью элементов ‘id’ и ‘dbConfig’. Значение ‘id’, указанное в каждой конфигурации монтирования, и значение элемента dbConfig должны совпадать с именем dbConfig. В дополнение к этому ‘cacheId’ является одной из наиболее важных конфигураций в этом разделе.
url — URL-адрес реестра экземпляра локального реестра. Это используется только в продукте реестра управления WSO2. Таким образом, вы можете использовать любое значение для других продуктов.
readOnly — является ли экземпляр доступным только для чтения.
registryRoot — Корень экземпляра реестра.
enableCache — включено ли кэширование или нет.
cacheId — это уникальная идентификация удаленного экземпляра, используемого на уровне распределенного кэширования. Здесь мы рекомендуем использовать идентификатор кэша в качестве реестра DBUsername @ DBUrl.
DBCONFIG
Этот dbConfig является ссылкой на источник данных, добавленный в файл master-datasources.xml. Обратите внимание, что вы не должны удалять или изменять стандартный dbConfig, доступный в файле registry.xml. Вместо этого вам нужно добавить новый элемент dbConfig. Кроме того, в качестве имени вновь добавляемого dbConfig вы должны использовать имя, отличное от ‘wso2registry’, поскольку оно использовалось в качестве имени dbConfig по умолчанию.
Итак, позвольте мне ответить на другие вопросы. Любой продукт WSO2 (выпущенный до 2018 года) внутри состоит из трех областей реестра. они локальные, конфиг и управление.
Локальный реестр (хранилище) используется для хранения конкретной информации экземпляра, такой как время последнего индекса и т. Д.
Config Registry (репозиторий) — это место для хранения информации, которой можно делиться только с одними и теми же продуктами, и если кластер многоузловых продуктов, этот раздел будет доступен для общего доступа.
Реестр управления (хранилище) — это место для хранения конфигураций и данных, которые совместно используются всей платформой WSO2.
Мы рекомендуем хранить разделы конфигурации и управления во внешней системе баз данных. Поскольку раздел Local Registry (репозиторий) является специфическим для экземпляра, мы рекомендуем хранить его с базой данных H2 по умолчанию. Информация, хранящаяся в локальном реестре, является отказоустойчивой и может быть восстановлена. Обратите внимание, что если вы хотите сохранить локальный раздел во внешней СУБД, вам необходимо создать отдельную базу данных (схему) для каждого экземпляра.
Итак, давайте перейдем к проверке моей конфигурации монтажа. В вашей конфигурации ‘remoteInstance’ вы должны правильно ссылаться на имя dbConfig. Это имя конфигурации БД не должно совпадать с тем, которое мы использовали для локального реестра. Кроме того, вы должны правильно сопоставить каждый раздел ‘mount’ с ‘remoteInstance’, используя instanceId.
Если у вас есть какие-либо вопросы, связанные с подключением реестра, вы можете оставить комментарий здесь. Я рад помочь вам.
| Ссылка: | Введение в установку реестра WSO2 от нашего партнера JCG |