WSO2 API Manager + Analytics 多合一单节点:共享 MySQL 数据库

WSO2 API Manager + Analytics All-in-one single node : sharing MySQL databases

作为 POC(概念验证),我尝试在单个节点上以 "all-in-one" 方式设置 "WSO2 API Manager + Analytics"。它应该可以用于小规模生产,所以我正在尝试用 MySQL 数据库替换 H2 数据库。

到目前为止,根据文档,我已经创建了这些数据库:

对于 WSO2 API 经理:

| wso2_apimgtdb                  | wso2am-2.0.0/dbscripts/apimgt/mysql5.7.sql
| wso2_mbstoredb                 | wso2am-2.0.0/dbscripts/mb-store/mysql-mb.sql
| wso2_metricsdb                 | wso2am-2.0.0/dbscripts/metrics/mysql.sql
| wso2_regdb                     | wso2am-2.0.0/dbscripts/mysql5.7.sql
| wso2_statsdb                   | (tables are build dynamically in this db)

对于 WSO2 API 经理 分析 :

| wso2_anal_eventstoredb         | (tables are build dynamically in this db)
| wso2_anal_processeddatastoredb | (tables are build dynamically in this db)

从那时起,我在 WSO2AM 中配置了数据源以指向这些数据库:

<name>WSO2_CARBON_DB</name>     --> wso2_regdb
<name>WSO2AM_DB</name>          --> wso2_apimgtdb
<name>WSO2AM_STATS_DB</name>    --> wso2_statsdb
<name>WSO2_MB_STORE_DB</name>   --> wso2_mbstoredb

<name>WSO2_METRICS_DB</name>    --> wso2_metricsdb

现在的问题是:哪个数据库应该与 Analytics 相互关联,哪个数据库必须为 API Manager 创建一次,为 Analytics 创建一次?

这里是要在wso2am-analytics/repository/conf/datasources/中配置的数据源:

analytics-datasources.xml :     <name>WSO2_ANALYTICS_EVENT_STORE_DB</name>
analytics-datasources.xml :     <name>WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB</name>

master-datasources.xml :        <name>WSO2_CARBON_DB</name>
metrics-datasources.xml :       <name>WSO2_METRICS_DB</name>

stats-datasources.xml:          <name>WSO2AM_STATS_DB</name>

如上所述,我创建了对应于WSO2_ANALYTICS_EVENT_STORE_DB和WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB的空数据库,但我不知道如何处理WSO2_CARBON_DB、WSO2_METRICS_DB和 WSO2AM_STATS_DB。我应该指向现有数据库还是创建新数据库?

您可以为 WSO2_CARBON_DBWSO2_METRICS_DB 使用单独的数据库。但是WSO2AM_STATS_DB必须分享