- 現代的軟體系統幾乎都是由跨機器、甚至於跨不同網路的分散式系統構成。相對於單機使用的軟體系統,分散式系統無論在正確性、穩定性、擴充性與安全性都面臨許多軟體設計上的挑戰。
- 本課程由軟體架構角度出發,將介紹當代分散式系統的特性、結構、與各種可能的系統運作模式與其核心軟體知識。
- 包含: 分散式系統的基本模型、網路軟體設計基礎知識、同步(Remoting)與非同步通訊模式(Group/Message-based/Shared Memory)、Naming、Coordination、分散式交易、Web服務、微服務、事件朔源、CQRS與區塊鏈等技術。
- Lab1 Network Programming:100/100
- Lab2 RESTful Web Services:100/100
- Lab3 Remoting (SOAP+gRPC):100/100
- Lab4 MQTT:100/100
- Lab5 CoreDNS:100/100
- Midterm exam:84/100
- Midterm presentation:84/100
- Final presentation:87.86/100
- Attendance score:85/85