WSo2 AM + DAS + Докер

Я скачал WS02, и мне нужна была помощь в настройке продукта в докеризованной среде. Я скачал пример построения среды WSO2 API-M с помощью DAS. https://github.com/nuwanbando/wso2-apim-distributed-deployment

Я смог заставить его работать, а также смог просмотреть опубликованную статистику с помощью DAS. Но из вашего примера я хочу пойти еще дальше и разделить шлюз  диспетчер шлюза и рабочий шлюз. Для этого я скопировал шлюз в новую папку и для каждого из сценариев запуска добавил профиль продукта. Например в рабочей папке я добавил автозагрузку следующим образом. CMD ["sh", "/wso2/wso2am-1.10.0/bin/wso2server.sh", "-Dprofile=gateway-worker", "-DworkerNode=true"]. После этой настройки похоже, что статистика не публикуется, и я не вижу никакой опубликованной статистики. Я попытался просмотреть таблицы в обозревателе данных в пользовательском интерфейсе DAS, но он пуст. Не могли бы вы дать мне несколько советов о том, что я могу делать неправильно? Прикрепляю свою композицию. Буду признателен за любую помощь.

версия: '2'

Сервисы:

dbms:
 container_name: apim_apimrdbms
 build:
    context: .
    dockerfile: database/Dockerfile
 ports:
  - "3306:3306"
 environment:
    MYSQL_ROOT_PASSWORD: root
gateway:
 container_name: apim_gateway
 depends_on:
   - dbms
 build:
  context: .
  dockerfile: gateway/Dockerfile
 ports:
  - "9763:9763"
  - "9443:9443"
  - "8280:8280"
  - "8243:8243"
worker:
 container_name: apim_worker
 depends_on:
   - dbms
 build:
  context: .
  dockerfile: gateway-worker/Dockerfile
 ports:
  - "9763:9763"
  - "9443:9443"
  - "8280:8280"
  - "8243:8243"
km:
 container_name: apim_km
 depends_on:
  - dbms
 build:
  context: .
  dockerfile: keymanager/Dockerfile
 ports:
  - "9764:9763"
  - "9444:9443"
publisher:
 container_name: apim_publisher
 depends_on:
  - dbms
 build:
  context: .
  dockerfile: publisher/Dockerfile
 ports:
  - "9765:9763"
  - "9445:9443"
  - "4000"
store:
 container_name: apim_store
 depends_on:
  - dbms
 build:
  context: .
  dockerfile: store/Dockerfile
 ports:
  - "9766:9763"
  - "9446:9443"
  - "4000"
das:
 container_name: apim_das
 depends_on:
  - dbms
 build:
  context: .
  dockerfile: das/Dockerfile
 ports:
  - "9767:9763"
  - "9447:9443"

person sam    schedule 23.08.2016    source источник


Ответы (2)


Группировать узлы GW непросто. Для этого вам также необходимо настроить синхронизацию развертывания на основе SVN. Некоторые шаблоны развертывания APIM с кластерными узлами GW можно найти здесь. И вы можете следовать этому руководству по кластерному диспетчеру API. Вы можете использовать это для настройки статистики.

Также вам нужно только указать следующий флаг для запуска в качестве рабочего узла.

-Dprofile=gateway-worker
person ycr    schedule 24.08.2016
comment
Хотя я понимаю конфигурации, необходимые для кластеризации, не могли бы вы ответить на вопрос, связанный с DAS в отношении профилей продуктов? - person sam; 24.08.2016
comment
Я отредактировал ответ. Вы видите эту проблему только тогда, когда указан профиль? - person ycr; 24.08.2016
comment
я использовал -Dprofile=gateway-worker и -DworkerNode=true в качестве аргументов при запуске рабочего, как указано в документации. При использовании этой настройки менеджер-воркер похоже, что статистика не публикуется. Так есть ли способ отладить это? Вы видите что-то не так в файле компоновки? Требуются ли какие-либо другие настройки/конфигурации? - person sam; 24.08.2016
comment
Возможно, вам потребуется проверить это: docs.wso2 .com/display/AM191/ - person imesh; 30.08.2016
comment
Я следовал инструкциям для версии 1.10.0, так как использую эту версию. - person sam; 30.08.2016

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

 <APIGateway>
        <ServerURL>https://${gatewaymanager_ip}:${mgt.transport.https.port}${carbon.context}/services/</ServerURL>
        <GatewayEndpoint>http://${gatewayworker}:${http.nio.port},https://${carbon.local.ip}:${https.nio.port}</GatewayEndpoint>                  
 </APIGateway>

ServerURL должен указывать на узел менеджера, тогда как GatewayEndpoint должен указывать на рабочие узлы.

person Fazlan Nazeem    schedule 26.08.2016