2011-08-23 20 views
1

我有許多不同的功能單元需要在WCF服務(或服務)中實現。這讓我感到有對裂開這些單位納入自己的服務有許多優點:將WCF服務分解爲獨立的,更有凝聚力的服務是一個好主意?

  • 鬆耦合
  • 可能更健壯 - 在一個失敗不能取下來的一切
  • 長期來看可擴展性

但也有成本:

  • 更多管理
  • 運行附加服務的開銷

我對最後的成本特別感興趣。運行兩種服務的開銷是否超過了這些服務很小的優勢(比如說兩到三個非常輕的操作)?

如果打破他們除了是一個好主意,什麼線我應該承擔的劃分?我可以嚴格按照功能,InstanceMode或託管類型(IIS v Windows)來分割服務。是否有適用於此的一般方法或建議?

欣賞任何建議。

回答

1

拆分爲多個服務不一定意味着它拆分成多個應用程序。
但是,你可能會得到健壯性和可擴展性。

所以,是的,將它們分割成最小的內聚單元。
這樣做比較好,打破現有的服務將會複雜得多。


附加

您應該按功能分手,只是意味着定義多個[ServiceContract]定義。

而且您只需通過託管型(IIS/WINSERVICE)分離。

剩下的問題多服務(例如,在IIS)是否應爲1級的應用程序,共享datalayers等等。這有一些短期的利益,而且是緊密結合或許應該被整合的服務。

但總的來說,創建單獨的應用程序提供最佳的可擴展性和可用性,更好的選擇來改變。

+0

相當 - 我應該說,功能的單位作爲一個整體代表一個應用程序。問題是應該將多少個別的WCF服務分解成多少行...... – MalcomTucker

0

就像所有的事情一樣。個人喜歡appfabric的東西,你可以輕鬆地擴展服務,並使用IIS和Windows來幫助健壯。

當然較小的表面積是好的,但爲什麼還要除非有證明你需要它的指標。首先使用WCF基礎結構。

+0

我無法使用應用結構。 – MalcomTucker

相關問題