Distributed Systems 分散式系統 現代的軟體系統幾乎都是由跨機器、甚至於跨不同網路的分散式系統構成。相對於單機使用的軟體系統,分散式系統無論在正確性、穩定性、擴充性與安全性都面臨許多軟體設計上的挑戰。 本課程由軟體架構角度出發,將介紹當代分散式系統的特性、結構、與各種可能的系統運作模式與其核心軟體知識。 包含: 分散式系統的基本模型、網路軟體設計基礎知識、同步(Remoting)與非同步通訊模式(Group/Message-based/Shared Memory)、Naming、Coordination、分散式交易、Web服務、微服務、事件朔源、CQRS與區塊鏈等技術。 Final Grade: 90/100 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