1. 分佈物件的誘惑:
中介軟體的物件分佈對上層透明崔然非常有用,但跨程式、跨機器(還有網路)呼叫,影響效能!
2. 遠端介面和本地介面:
1)遠端訪問的物件需要使用粗粒度介面,而本地訪問的物件需要使用細粒度介面(優化效能時,本地接扣可以提供粗粒度物件)
2)基於1),就不能把在單程式中設計的類原封不動地搬到分佈模型環境中
3)分佈物件設計第一定律:不要分佈使用物件!
4)怎樣有效利用多處理器資源:使用叢集系統(在每個處理器上都部署所有物件,每個處理器上的物件都只需要用到本地呼叫 -> 執行更快,還可以使用細粒度介面設計物件模型)
3. 必須使用分佈的情況
1)傳統客戶機/伺服器架構
2)應用軟體與資料庫
3)web伺服器和應用伺服器(指的是web service麼? 沒搞懂!)
4)不同廠商的軟體包
4. 關於分佈邊界
1)遠端外觀:程式內使用細粒度物件,分佈邊界上放置粗粒度物件
2)資料傳輸物件:一般只引用其他資料傳輸物件和一些如字串等原始型別物件
3)代理:用延遲載入來傳遞物件
5. 分佈介面
1)如果兩個系統使用相同的平臺構建,使用系統自己的遠端呼叫機制高效得多!(web service雖跨平臺,但傳輸資料來回轉換增加不少開銷)
2)使用http協議和遠端物件導向API(沒弄明白怎麼玩)
3)非同步、基於訊息的處理方式