2016-05-19 2 views
1

Ich habe eine verteilte Einrichtung (WSO2 APIM 191) wie folgt aus:APIM191 - "Statusbericht - nicht gefunden" In einem verteilten Setup.

  • 2-Server mit Speicher und pubisher in Cluster arbeiten; (Server A und B);
  • 2 Server arbeiten mit Gateway-Workern und Keymanager im Cluster; (Server C und D);
  • 1 Server arbeitet als Gateway-Manager; (Server E);
  • 1 Server arbeitet mit einem BAM; (Server F);
  • 2 Postgres im Cluster;

Alles ist konfiguriert und funktioniert gut. Aber wenn ich eine API auf "A" registriere, wird diese API nicht vom Server "C" oder "D" angezeigt.

Wenn ich diese API-Aufruf von "curl" Dies ist der Fehler ist:

<am:fault xmlns:am="http://wso2.org/apimanager"> 
    <am:code>404</am:code> 
    <am:type>Status report</am:type> 
    <am:message>Not Found</am:message> 
    <am:description> 
     The requested resource (/test/1/ping) is not available. 
    </am:description> 

Wenn ich Kohlenstoff bei "C" zu sehen oder "D" (Haupt> Metadaten> Liste> APis) Die API ist da. Ich weiß nicht, warum dieser Fehler.

Antwort

2

Haben Sie den Deployment-Synchronizer eingerichtet? siehe SVN-Based Deployment Synchronizer for Carbon 4.2.0-Based Products.

Wenn Sie eine api vom Verlag veröffentlichen, es relevant Synapse Konfigurationen erstellt Anforderung an diese api in dem Manager-Knoten in Bezug auf Griff (AM_HOME/repository/deployment/server/Synapse-configs/default/api im Manager-Knoten sehen und Sie würden ein XML mit dem API-Namen finden.). Da Gateway-Worker-Knoten Anforderungen bearbeiten, sollten sich diese Dateien in den Worker-Knoten befinden. Deployment-Synchronizer wird verwendet, um diese Konfigurationen automatisch zu den Worker-Knoten zu verschieben. Sie können dies manuell tun, indem Sie den Inhalt im Ordner "synapse-configs" im Manager-Knoten an alle Worker-Knoten kopieren, wenn Sie keinen svn-Basis-Synchronizer benötigen

+0

Gibt es eine andere Möglichkeit, dies zu lösen? Ich kann SVN nicht benutzen und ich kann es nicht manuell tun. –

+1

Sie könnten einen Cron-Job in den gw-Master-Knoten schreiben, um den Deployment-Ordner in den Worker-Knoten eines geplanten Managers zu kopieren. Ein Nachteil davon ist, dass Arbeiterknoten die aktualisierten Konfigurationen nicht in dem Moment erhalten, in dem sie aktualisiert werden. (depsync tut dies. Es sendet die Cluster-Nachricht an den Arbeiter-Knoten, sobald eine Aktualisierung erfolgt ist. Die Arbeiter erhalten dann ein Svn-Update). Eine weitere Methode besteht darin, den Worker-Knoten zu entfernen und die Worker-Knoten als normale gw-Knoten festzulegen und die beiden Gateway-URLs als den Gateway-Endpunkt in der API-Manager-Datei des Herausgebers festzulegen. Dies wird API an beide Gateways veröffentlichen. –

+0

_ "Eine weitere Methode ist das Entfernen des Worker-Knotens und das Setzen der Worker-Knoten als normale gw-Knoten und das Setzen der beiden Gateways-URLs als Gateway-Endpunkt in der API-Manager-Datei des Herausgebers. Dies wird API an beide Gateways" _ veröffentlichen. Heute habe ich 1 GM und 2 GW. Kann ich 3 GM in meinem Setup haben? –

Verwandte Themen