Данные регулирования не публикуются на всех активных узлах - PullRequest
0 голосов
/ 17 мая 2018

У меня есть два физических узла 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>

. Любая помощь приветствуется.Моя цель здесь состоит в том, чтобы гарантировать, что независимо от того, на какой узел шлюза перенаправляется запрос, регулирование должно быть согласованным, как определено в подписке между узлами.

В настоящее время создается впечатление, что каждый узел выполняет отдельное регулирование.

...