2017-06-20 110 views
0

什麼時候應該使用針對API自動搜索的API代理。在實現兩者之後,我發現AutoDiscovery也可以應用API Gateway所做的策略和分析,但唯一的是如果使用AutoDiscovery,則無法使用其他網址。如果我的網關應用程序和Mule實施項目位於不同的子網中,那麼API代理的主要優點是,如果我們的網關服務器受到威脅,則無法訪問我的實施網絡。Mule API AutoDiscovery vs Mule API GatewayProxy

但是,如果接口和實現同一網絡中,而目的僅僅是調用REST端點,難道我們不應該用API自動搜索去。

問題與騾子API網關代理

  1. 沒有明確的異常處理的方式,如果我們不能夠達到實現服務器。
  2. 沒有定義不同環境移動代理應用程序(CI/CD)
  3. 額外的HTTP啤酒花的方式,可以是可接受的,如果在上述2個問題有一個確定的方式

騾API自動搜索

  1. 由於這是在Mule應用程序中,標準異常處理。
  2. CI/CD被定義爲它是Mule實施項目。
  3. 沒有額外的HTTP跳。
  4. 這裏唯一的一點是,我們不能改變實現的URL,那只是緊密耦合的東西。

有人可以提供有關我們應該何時應用API網關與自動搜索的見解。目前還有一種在API網關項目和CI/CD中執行異常處理的方法嗎?

回答

0

如果您打算向特定端點應用/取消應用策略,和/或利用API平臺上下文中的使用情況統計信息,則需要API Autodiscovery。 Api Autodiscovery是一種將HTTP(s)偵聽器鏈接到API Manager上的對應API版本的元數據。

例如:

<api-platform-gw:api id="api.basic.path" apiName="My API" version="1.0.0" flowRef="basic.path"> 
    </api-platform-gw:api> 

    <flow name="basic.path"> 
     <http:listener config-ref="a.http.config" /> 
     <set-payload value="Endpoint successfully called." /> 
    </flow> 

自動生成的代理騾確實具有自動發現定義。您還可以開發自己的項目並通過使用Studio UI或直接處理XML配置來定義相應的自動發現。

如果您的實現後端不是Mule應用程序(例如,託管在Tomcat服務器中的現有基於REST的API),則這些代理意味着使用。您可以通過自定義異常處理來豐富邏輯,並在Mule方面進行其他操作。如果您希望在實現後端上執行更好的異常處理,則必須在此處實現它。

如果您的實施後端是騾子基於應用程序,使用代理不是必需的。對於大多數使用情況來說,在配置文件中添加相應的自動發現元素將會有所斬獲。