中間件的對象分佈對上層透明崔然很是有用,但跨進程、跨機器(還有網絡)調用,影響性能!web
1)遠程訪問的對象須要使用粗粒度接口,而本地訪問的對象須要使用細粒度接口(優化性能時,本地接扣能夠提供粗粒度對象)數據庫
2)基於1),就不能把在單進程中設計的類原封不動地搬到分佈模型環境中服務器
3)分佈對象設計第必定律:不要分佈使用對象!網絡
4)怎樣有效利用多處理器資源:使用集羣系統(在每一個處理器上都部署全部對象,每一個處理器上的對象都只須要用到本地調用 -> 運行更快,還能夠使用細粒度接口設計對象模型)架構
1)傳統客戶機/服務器架構異步
2)應用軟件與數據庫性能
3)web服務器和應用服務器(指的是web service麼? 沒搞懂!)優化
4)不一樣廠商的軟件包設計
1)遠程外觀:進程內使用細粒度對象,分佈邊界上放置粗粒度對象代理
2)數據傳輸對象:通常只引用其餘數據傳輸對象和一些如字符串等原始類型對象
3)代理:用延遲加載來傳遞對象
1)若是兩個系統使用相同的平臺構建,使用系統本身的遠程調用機制高效得多!(web service雖跨平臺,但傳輸數據來回轉換增長很多開銷)
2)使用http協議和遠程面向對象API(沒弄明白怎麼玩)
3)異步、基於消息的處理方式