2012-05-13 74 views
0

我們在我們的應用程序中有內部服務,這些服務基本上是作爲Thrift RPC服務開發的。現在,我需要將這些服務公開給核心系統之外的客戶端應用程序。現在向客戶提供服務

,問題是: 我應該直接公開這些節儉的服務給客戶?這樣做的好處是所需工作量最少。缺點是客戶端需要連接到這些Thrift API以及另一個已經存在的接口,所以實際上客戶端應用程序需要打開多個套接字才能連接到核心系統。

另一種選擇是將這些Thrift服務包裝在另一層,最終將交付給最終客戶。這樣做的缺點:對數據進行兩次編組/解組,一次使用Thrift,另一次使用另一個接口。

應該如何處理這種情況的首選方式?

回答

1

我們不會將這些服務直接暴露給外部客戶。我們將構建或使用應用程序來配置外部客戶端可以連接的代理。

到這樣做的好處是:

  • 沒有必要打一個洞在防火牆
  • 可能性做一個額外的安全檢查
  • 可能性扼殺到內部業務接入
  • 減黑客能夠利用服務的機會
+0

你能不能給我如何可以去代理一些指點? – Lazylabs