分散式系統的期末計劃,是一個based on P2P 架構的交易平台;
使用者可以在平台上利用Instant Message System 進行溝通,並且以物易物;靈感的源起是一個朋友弄了一個類似的應用在集中式的網站上,但隨即就發現了集中式的架構會有 scalability的問題;剛好這學期修了分散式系統,覺得分散式的架構也許更適合,所以在期末報告時試著implement.
但是分散式的架構畢竟比較複雜,需要一些特別的技法拆招,主要要解的問題有以下幾點:
(1) 分散的transaction: 在集中式的系統中,solution 已經很成熟;在P2P 的架構下還是MADAMADA,我們實作 lock 與 two phase commit 的機制來解這個問題;
(2) 交易安全: 資料完全性(Data Integrity)和不可否認性(None-repudiation): 我們採用 PKI 架構解決這個問題;
(3) Location Transparency: 這個真的不知道怎麼翻中文,意思是這個application不管你是在那個位置、有沒有固定 、public IP 都可以使用,這則是套了JXTA 這個framework去解。
實際上做起來,比想的要累很多 @@,主要是因為套jxta 這套功能強大,但是文件稀少的framework,讓我們在 trouble shooting 上花了不少時間。不過還是覺得這套framework 有它的獨到之處,值得。