我的評論
re: Clojure 性能 tips(翻譯) steven.cui 2014-02-13 22:50
@Syeerzy
具體性能提高多少可能跟jvm版本以及clj版本有區(qū)別,這個應(yīng)該還是在clojure1.3之前的文章,現(xiàn)在的版本估計已經(jīng)足夠聰明了,還是那句話過度優(yōu)化和過早優(yōu)化都是惡魔。@Syeerzy
具體性能提高多少可能跟jvm版本以及clj版本有區(qū)別,這個應(yīng)該還是在clojure1.3之前的文章,現(xiàn)在的版本估計已經(jīng)足夠聰明了,還是那句話過度優(yōu)化和過早優(yōu)化都是惡魔。@Syeerzy
re: Netty整理和基于Netty封裝了一個web game通訊層 steven.cui 2013-08-02 15:11
@wade
目前我在研究erlang,java可以借鑒erlang的多進(jìn)程并發(fā)思想來做,Actor/SEDA設(shè)計模型可以增加吞吐量和并發(fā),如果你有C和lua經(jīng)驗,可以參考云風(fēng)的skynet,當(dāng)然還可以考慮Scala或者Clojure,Scala本身支持函數(shù)式,更有Actor模型存在,也有很多國內(nèi)的朋友在用Scala寫游戲服務(wù)器。
另外一個無鎖的消費生產(chǎn)者模型,Disruptor,如果你有能力自己實現(xiàn)Actor/SEDA模型,可以將Disruptor嫁接進(jìn)來。
游戲服務(wù)器的難度設(shè)計在于幾點:
1.多服務(wù)器的通訊和穩(wěn)定,以及各種容錯機(jī)制,熱更新。
2.快速迭代的測試模型和性能驗證模型。(解決上下文的關(guān)聯(lián)問題,我能想到的是盡量利用函數(shù)式語言來做)
3.監(jiān)控和相應(yīng)的配置工具,目前Erlang的體系的確是很強(qiáng)大,幫你做了很多。
至于XGameEnginne,我們之前的上線游戲,都是通過業(yè)務(wù)邏輯的方式分配線程,此方法不算是特別智能,但也在一定程度上可以解決部分并發(fā)的問題,其實Erlang來做的話也可以這么設(shè)計,但卻比Java有更好的辦法,畢竟Erlang對進(jìn)程的開銷實在太小了。
最后,選擇有很多,不要讓語言成為你的限制,當(dāng)然這是扯淡,關(guān)鍵是要找合適的:D
目前我在研究erlang,java可以借鑒erlang的多進(jìn)程并發(fā)思想來做,Actor/SEDA設(shè)計模型可以增加吞吐量和并發(fā),如果你有C和lua經(jīng)驗,可以參考云風(fēng)的skynet,當(dāng)然還可以考慮Scala或者Clojure,Scala本身支持函數(shù)式,更有Actor模型存在,也有很多國內(nèi)的朋友在用Scala寫游戲服務(wù)器。
另外一個無鎖的消費生產(chǎn)者模型,Disruptor,如果你有能力自己實現(xiàn)Actor/SEDA模型,可以將Disruptor嫁接進(jìn)來。
游戲服務(wù)器的難度設(shè)計在于幾點:
1.多服務(wù)器的通訊和穩(wěn)定,以及各種容錯機(jī)制,熱更新。
2.快速迭代的測試模型和性能驗證模型。(解決上下文的關(guān)聯(lián)問題,我能想到的是盡量利用函數(shù)式語言來做)
3.監(jiān)控和相應(yīng)的配置工具,目前Erlang的體系的確是很強(qiáng)大,幫你做了很多。
至于XGameEnginne,我們之前的上線游戲,都是通過業(yè)務(wù)邏輯的方式分配線程,此方法不算是特別智能,但也在一定程度上可以解決部分并發(fā)的問題,其實Erlang來做的話也可以這么設(shè)計,但卻比Java有更好的辦法,畢竟Erlang對進(jìn)程的開銷實在太小了。
最后,選擇有很多,不要讓語言成為你的限制,當(dāng)然這是扯淡,關(guān)鍵是要找合適的:D
re: Netty整理和基于Netty封裝了一個web game通訊層 steven.cui 2012-08-20 10:59
@rabee 有什么問題請講
re: Clojure世界:Http Client steven.cui 2012-05-19 15:49
很棒的類庫,正在嘗試用clojure,嘗試著做些wrapper,的確是快速入門的方式。