2016-05-19 23 views
1

我具有分佈式設置(WSO2 APIM 191)是這樣的:APIM191 - 「狀態報告 - 未找到」在分發的設置中。

  • 2與存儲和pubisher在簇工作服務器; (服務器A和B);
  • 2個服務器與羣集中的網關工作者和keymanager一起工作; (服務器C和D);
  • 1個作爲網關管理器工作的服務器; (服務器E);
  • 1臺使用BAM的服務器; (服務器F);
  • 2 postgres in cluster;

所有配置和運作良好。但是,當我在「A」處註冊API時,此API不會由服務器「C」或「D」顯示。

當我調用此API的 「捲曲」 是這樣的錯誤:

<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> 

當我看到碳在 「C」 或 「d」(主>元數據>列表> API)的該API在那裏。我不知道爲什麼這個錯誤。

回答

2

您是否設置了部署同步器?見SVN-Based Deployment Synchronizer for Carbon 4.2.0-Based Products

當您從發佈者發佈api時,它會創建相關的突觸配置來處理與管理器節點中與此api相關的請求(請參閱管理器節點中的AM_HOME/repository/deployment/server/synapse-configs/default/api你會發現一個帶有api名字的xml。)。由於網關工作節點處理請求,這些文件應該位於工作節點中。部署同步器用於將此配置自動移動到工作節點。您可以通過將管理器節點中的synapse-configs文件夾中的內容複製到所有工作節點來手動執行此操作,如果您不想使用svn基本同步器

+0

是否有其他解決方法?我不能使用SVN,也不能手動完成。 –

+1

您可以在gw主節點中編寫一個cron作業,以將部署文件夾複製到預定管理器中的工作節點。其中一個缺點是工作節點在更新時不會獲得更新的配置。 (depsync會這樣做,一旦更新完成,它會向工作節點發送集羣msg,然後worker會得到一個svn更新)。另一種方法是刪除worker節點並將worker節點設置爲正常的gw節點,並將兩個網關url設置爲發佈者的api-manager.xml中的Gateway端點。這將發佈API到兩個網關。 –

+0

_「另一種方法是刪除worker節點,並將worker節點設置爲正常的gw節點,並將兩個網關url設置爲發佈者的api-manager.xml中的Gateway端點,這會將api發佈到兩個網關」_「。今天我有1個GM和2 GW。所以我可以讓3 GM在我的設置中工作嗎? –