Re: [問題] 想問有沒有比較好的設計方法
※ 引述《ogre0403 (肚子餓)》之銘言:
: 各位高手好,最近想要寫一個client/server架構的程式,目前還在設計的階段,
: 想上來問一下有沒有比較好的設計方法,或是有類似的範例可以參考
: 如果不能問這類問題的話,我會自d
: 目前要寫的程式有點像是bt的樣子,假如現在有很多的server,例如s1、s2、s3…
: 我的client只要和其中的一個server連線,例如s1,s1就會把client的要求送到其他的
: s2、s3…,之後s2、s3…又會把結果送回到s1,s1再一次把所有的結果回傳給client
: 目前想到的做法一是:
: 當client連到s1後,s1有implement cloneable和runnable,所以可以拷貝本身在一個
: thread上執行,在這個thread上再開一個socket來linsten由s2、s3…所回傳的結果,
: 可是這樣好像會開很多個socket且還要再把port的資訊送到s2、s3…
: 想法二:
: 在s1上建二個socket,一個負責listen由client來的要求,另一個負責listen s2、s3…
: 所回傳的結果,這樣一來,若有多個client的時候,就無法分辨s2、s3…所回傳的結果
: 是屬於那個client
: 有沒有人有更好的設計方式,謝謝
其實我覺得關鍵是在於你每台server存放的資料為何
若每台的資料都一樣或差不多,多伺服器是為了增加處理效率的話,
可以考慮google的「Map/Reduce」設計方式
而如果多伺服器是為了分散風險的話,也許可以試試「DHT」
引號內是關鍵字,google一下應該會有資料
這個問題我也想過,但一時沒有實作出來,還請大家不吝指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.207.158
討論串 (同標題文章)