分散式系統 Distributed Systems_Chapter 02: Architectures_Week2筆記
軟體架構 (Software architectures) : 說明各種軟體元件是如何組織的,以及它們應該如何互動。 分散式系統中軟體架構目標 : 透過提供中介層 (middleware layer),將應用程式與底層平台分離。 系統架構(System Architecture) : 決定軟體元件、它們之間互動方式,以及它們的部署位置,最終形成一具體的軟體架構實例。 Architectural styles (replaceable) components with well-defined interfaces 可替換的元件之間透過明確定義的介面彼此互動 the way that components are connected to each other 元件之間的連接方式 the data exchanged between components 元件間交換的資料 how these components and connectors are jointly configured into a system. 系統的整體配置,元件與 連接器 如何組合成一個完整的系統。 連接器 (Connector): 是一種機制,用來調節元件之間的通訊 (communication)、協調 (coordination)、合作 (cooperation)。 例如:用於遠端程序呼叫(RPC)、訊息傳遞(messaging)或資料串流(streaming)的機制。 Layered architecture Pure layered org : Only downcalls to the next lower layer are made. mixed layered org : take layer n-1. There’s an app called A. this will invoke an OS library that’s available in layer n-3. AS WELL as n-3, A will call layer n-2,wihich holds a maths library . maths library itself relies on OS library in layer n-3! So n-2 has to call n-...