У меня есть два физических узла api manager, настроенных как описано в этом руководстве.Два всех компонента в одной машине расположены за балансировщиком нагрузки.
https://docs.wso2.com/display/AM220/Configuring+an+Active-Active+Deployment#ConfiguringanActive-ActiveDeployment-Step4-ConfigurethePublisherwiththeGateway
Ниже приведена моя конфигурация для издателя данных в api-manager.xml
<DataPublisher>
<Enabled>true</Enabled>
<ReceiverUrlGroup>{tcp://172.31.31.93:9611},{tcp://172.31.16.52:9611} </ReceiverUrlGroup>
<AuthUrlGroup>{ssl://172.31.31.93:9711},{ssl://172.31.16.52:9711}</AuthUrlGroup>
<DataPublisherPool>
<MaxIdle>1000</MaxIdle>
<InitIdleCapacity>200</InitIdleCapacity>
</DataPublisherPool>
<DataPublisherThreadPool>
<CorePoolSize>200</CorePoolSize>
<MaxmimumPoolSize>1000</MaxmimumPoolSize>
<KeepAliveTime>200</KeepAliveTime>
</DataPublisherThreadPool>
Я установил приложение с политикой регулирования приложений, равной 10 запросам в минуту.Когда я размещаю оба экземпляра за балансировщиком нагрузки и запросами на запуск, пока оба узла работают, мне разрешено делать 20 запросов в минуту.Однако, если я отключаю один узел, это позволяет мне делать 10 запросов в минуту.Я подозреваю, что данные трафика не публикуются шлюзом к диспетчеру трафика.
В чем может быть ошибка конфигурации, которую мне нужно проверить, чтобы включить это?Единственное, что отличается от указанной конфигурации в моем случае, это то, что я не указываю на один узел шлюза от обоих издателей.Таким образом, оба узла имеют следующую конфигурацию APIGateway в api-manager.xml
<APIGateway>
<!-- The environments to which an API will be published -->
<Environments>
<!-- Environments can be of different types. Allowed values are 'hybrid', 'production' and 'sandbox'.
An API deployed on a 'production' type gateway will only support production keys
An API deployed on a 'sandbox' type gateway will only support sandbox keys
An API deployed on a 'hybrid' type gateway will support both production and sandbox keys. -->
<!-- api-console element specifies whether the environment should be listed in API Console or not -->
<Environment type="hybrid" api-console="true">
<Name>Production and Sandbox</Name>
<Description>This is a hybrid gateway that handles both production and sandbox token traffic.</Description>
<!-- Server URL of the API gateway -->
<ServerURL>https://localhost:${mgt.transport.https.port}${carbon.context}services/</ServerURL>
<!-- Admin username for the API gateway. -->
<Username>${admin.username}</Username>
<!-- Admin password for the API gateway.-->
<Password>${admin.password}</Password>
<!-- Endpoint URLs for the APIs hosted in this API gateway.-->
<GatewayEndpoint>http://${carbon.local.ip}:${http.nio.port},https://${carbon.local.ip}:${https.nio.port}</GatewayEndpoint>
</Environment>
</Environments>
</APIGateway>
. Любая помощь приветствуется.Моя цель здесь состоит в том, чтобы гарантировать, что независимо от того, на какой узел шлюза перенаправляется запрос, регулирование должно быть согласованным, как определено в подписке между узлами.
В настоящее время создается впечатление, что каждый узел выполняет отдельное регулирование.