如何通过更多节点配置 wso2 api 管理器?

How to config wso2 api manager by more nodes?

我已经阅读了 wso2 api 管理器 active-active 设置,但我想通过两个以上的节点设置 api 管理器,例如三个节点。所以我在一些配置中感到困惑,例如,我应该如何 Configure Throttling part for 3 nodes in deployment.toml

[apim.throttling]
event_duplicate_url = ["tcp://<node2-hostname>:<node2-port>"]

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node1-hostname>:<node1-port>"]
traffic_manager_auth_urls = ["ssl://<node1-hostname>:<node1-port>"]
type = "loadbalance"

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node2-hostname>:<node2-port>"]
traffic_manager_auth_urls = ["ssl://<node2-hostname>:<node2-port>"]
type = "loadbalance"

[apim.throttling]
event_duplicate_url = ["tcp://<node1-hostname>:<node1-port>"]

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node1-hostname>:<node1-port>"]
traffic_manager_auth_urls = ["ssl://<node1-hostname>:<node1-port>"]
type = "loadbalance"

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node2-hostname>:<node2-port>"]
traffic_manager_auth_urls = ["ssl://<node2-hostname>:<node2-port>"]
type = "loadbalance"

我还想要 两个分析 实例并在 Nginx 中进行配置,我是否应该在 nginx 配置中添加新的上游分析? 在 wso2 api manager 文档中,反向代理与分析没有直接关系,为什么?我们应该在反向代理(Nginx)中配置分析吗?

最好采用分布式设置并根据需要部署任意数量的网关节点,而无需部署 3 个一体化 API 管理器节点。您可以详细了解 API 管理器配置文件和组件 here. Further, you can refer to this doc 以设置和部署分布式设置。

如果您的要求是旋转 API Manager 的 3 个一体机节点,那么您必须为所有三个节点配置 event_duplicate_urlthrottling.url_group 配置。

下面给出了一个示例配置

# node1 configurations
[apim.throttling]
event_duplicate_url = ["tcp://<node2-hostname>:<node2-port>", "tcp://<node3-hostname>:<node3-port>"]

...

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node3-hostname>:<node3-port>"]
traffic_manager_auth_urls = ["ssl://<node3-hostname>:<node3-port>"]
type = "loadbalance"
# node2 configurations
[apim.throttling]
event_duplicate_url = ["tcp://<node1-hostname>:<node2-port>", "tcp://<node3-hostname>:<node3-port>"]

...

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node3-hostname>:<node3-port>"]
traffic_manager_auth_urls = ["ssl://<node3-hostname>:<node3-port>"]
type = "loadbalance"
# node3 configurations
[apim.throttling]
event_duplicate_url = ["tcp://<node1-hostname>:<node1-port>", "tcp://<node2-hostname>:<node2-port>"]

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node1-hostname>:<node1-port>"]
traffic_manager_auth_urls = ["ssl://<node1-hostname>:<node1-port>"]
type = "loadbalance"

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node2-hostname>:<node2-port>"]
traffic_manager_auth_urls = ["ssl://<node2-hostname>:<node2-port>"]
type = "loadbalance"

[[apim.throttling.url_group]]
traffic_manager_urls = ["tcp://<node3-hostname>:<node3-port>"]
traffic_manager_auth_urls = ["ssl://<node3-hostname>:<node3-port>"]
type = "loadbalance"

此外,您可以按照 Configuration Catalog 文档在 API 管理器节点中参考和配置分析部分。