這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
使用golang寫的架構。
使用了第三方protobuf庫作為報文和序列化,關於如何在windows下安裝參考:windows下安裝golang protobuf
使用了mysql作為資料庫,go-mysql-driver作為資料庫驅動,具體安裝使用參考:一個go語言的輕量級mysql驅動
mysql資料庫的下載地址:http://dev.mysql.com/downloads/
這是一個簡單的分布式遊戲伺服器架構,架構分為幾部分介紹。相當於文檔了
1.伺服器架構 http://blog.csdn.net/easy_mind/article/details/53321919
2.單個伺服器APP結構 http://blog.csdn.net/easy_mind/article/details/53322216
3.報文層級 http://blog.csdn.net/easy_mind/article/details/53322280
4.通過代碼來簡單說明 http://blog.csdn.net/easy_mind/article/details/53322300
5.目前存在的不足和後續可能的工作展開
這個架構是基於原來的C++架構而來的,做這個的目的是因為golang具有優秀的並發性,試試看用golang是否能在一定程度上提高負載能力。原C++遊戲服務架構目前最高同時線上2w人。
開源的目的是想為獨立遊戲開發人員這個群體貢獻一點綿薄之力,然後如果有golang的同學或者大神能讓我互相學習提高,這就更好了。
原C++架構的因為不是我寫的所以不能開源,這個golang架構麼由於原來的C++架構裡有些業務方面的代碼,於公於私我都要將其剝離掉所以當前的golang的遊戲伺服器架構顯得有點粗糙,請見諒,後續會慢慢完善的。
之所以有分兩個GIT放,是因為我上傳github的速度有點慢,大概10k/s的樣子,所以一些protoc.exe和文檔就沒有傳到github上。不過oschina都傳了,如果本項目對你有協助請在github上隨手點個☆,如果我看到我自己有協助到您,會更有改進的動力。
PS:項目名的梗源於《某科學的超電磁炮》,有興趣可以看我在GIT上的README裡的自我吐槽
以下是這個項目源碼的地址:
github:https://github.com/3zheng/railgun
開源中國:http://git.oschina.net/poorbreast/railgun
如果有問題或者需要我協助的地方歡迎發郵件給我 914509007@qq.com
或者加369793160這個群,不過我不是群主,23333