wso2 安装
这篇文章基于有关注册表安装及其工作原理等常见问题。以下是人们提出的主要问题:
1)。 安装如何工作?
2)。 Config Registry和Governance Registry有什么区别?
3)。 可以将H2以外的数据库用于本地注册表吗?
4)。 装载路径和目标路径是什么意思?
5)。 我是否需要配置“ remoteInstance” URL?
6)。 我应该使用什么作为cacheId?
因此,让我们从如何配置注册表安装开始。 配置注册表安装时,必须将相关的数据源添加到master-datasources.xml文件中。 除此之外,还必须将与安装相关的配置也添加到Registry.xml文件中。
在master-datasources.xml文件中,您只需通过提供JDBC URL,用户名,密码,验证查询,连接优化参数等来配置JDBC数据源。示例数据源条目如下所示。
<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文件中,有许多烦人的区域可用。 因此,让我们首先来看一个示例安装配置。
<dbConfig name="mounted_registry"><dataSource>jdbc/WSO2CarbonDB_Gov</dataSource>
</dbConfig><remoteInstance url="https://localhost:9443/registry"><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”条目的两个部分。
我认为很容易先从安装项进行解释,然后从remoteInstance和dbConfig进行解释。 在安装条目中,您可以配置路径,覆盖,targetPath和instanceId。
安装
path –路径是注册表中与文件系统路径相似的位置。 存储在该路径中的资源将存储在相关的已配置数据库中。
覆盖 –(虚拟,真,假)是否覆盖给定路径上的现有集合/资源。 虚拟均值更改仅存储在内存中,而不会写入数据库。
instanceId –对“ remoteInstance”的引用。
targetPath –存储在数据库中的路径。
简而言之,任何以path部分中的值开头的注册表路径都将针对targetPath存储在DB中(path将被targetPath替换并存储在DB中)。 检索注册表路径时,它也会进行反向替换。 因此,此目标路径对您完全不可见。 如果您对此太好奇了,可以通过查询REG_PATH表进行验证。
remoteInstance
'remoteInstance'是'dbConfig'和Mounts之间的映射。 此映射通过'id'和'dbConfig'元素处理。 每个安装配置中引用的“ id”值和dbConfig元素的值应与dbConfig名称相同。 除此以外,“ cacheId”是本节中最重要的配置之一。
url –本地注册表实例的注册表URL。 仅在WSO2治理注册表产品中使用。 因此,您可以为其他产品使用任何值。
readOnly –实例是否为只读。
RegistryRoot –注册表实例的根。
enableCache –是否启用缓存。
cacheId –这是在分布式缓存层中使用的远程实例的唯一标识。 在这里,我们建议将缓存ID用作注册表DBUsername @ DBUrl。
dbConfig
此dbConfig是对添加在master-datasources.xml文件中的数据源的引用。 请注意,您不应删除或修改Registry.xml文件中可用的默认dbConfig。 取而代之的是,您需要添加一个新的dbConfig元素。 此外,作为新添加的dbConfig的名称,您应使用“ wso2registry”以外的名称,因为它已被用作默认的dbConfig名称。
所以,让我回答其他问题。 任何WSO2产品(2018年之前发布)在内部都包含三个注册表空间。 它们是本地的,配置和管理的。
本地注册表(存储库)用于存储实例特定的信息,例如“上次索引时间”等。
Config Registry(存储库)是存储只能与相同产品共享的信息的地方,如果是多节点产品集群,则将共享此部分。
Governance Registry(存储库)是存储在整个WSO2平台上共享的配置和数据的地方。
我们建议将配置和管理部分存储在外部数据库系统中。 由于本地注册表(存储库)部分是特定于实例的,因此我们建议将其存储在默认的H2数据库中。 本地注册表中存储的信息是故障安全的,可以恢复。 请注意,如果您愿意将Local部分存储在外部RDBMS中,则必须为每个实例创建一个单独的数据库(架构)。
因此,让我们继续验证我的安装配置。 在“ remoteInstance”配置中,必须正确引用dbConfig名称。 此数据库配置名称不应与用于本地注册表的名称相同。 除此之外,您还必须使用instanceId将每个“ mount”部分正确映射到“ remoteInstance”。
如果您有任何有关注册表安装的问题,可以在此处评论。 很高兴为您服务。
翻译自: https://www.javacodegeeks.com/2017/09/introduction-wso2-registry-mounting.html
wso2 安装