青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

戰魂小筑

討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

最近參加了一個大服務器架構討論活動, 記錄下心得

概述

游戲客戶端采用Cocos2dx-Lua的純Lua編寫邏輯, 服務器采用Golang作為開發語言

游戲類型類似于COC,因此無需選服. 需要使用大服務器架構進行處理

數據庫

采用Mongodb做持久存儲, redis做跨服通信數據交換

使用UCloud的云技術, 省去了煩人的運維工作

通信及協議

客戶端和服務器通訊使用HTTP短連接, 基于json的數據封包協議

服務器間大量使用Golang自帶的json+rpc進行通信

服務器類型

服務器類型大致分為邏輯服務器,戰斗服務器, 中心服務器

邏輯服務器

邏輯服務器負責日常邏輯及公共邏輯處理(好友, 公會)

1個邏輯服務器對應一個區, n個區均使用Ucloud云Mongodb進行數據存儲

戰斗服務器

戰斗服務器是一個集群, 集群會返回一個負載最低的服務器返回使用

戰斗服務器通過cgo技術與客戶端C++/lua的戰斗邏輯進行邏輯復用, 在此技術上進行

戰斗邏輯的校驗

中心服務器

客戶端登陸前, 在中心服務器這里獲得可登陸的邏輯服務器地址, 同時做一個負載均衡

短連接

評價

由于操作系統的技術趨于穩定, 同時, 手游的弱交互型導致的游戲架構趨于簡單. 因此網絡負載不再是游戲服務器技術的瓶頸. 從經驗看來, 游戲服務器技術, 更重要的是還是看數據庫的選型及處理方式. 

雖然Mongodb的性能上不如內存數據庫. 但是從存儲安全性上要比個人搭建的內存數據庫簡單, 安全

外加上云技術的引用, 性能的瓶頸和運維的技術復雜度迎刃而解

Redis用于跨服數據交互那是再好不過的數據中介了, 保證速度和穩定性, 絕對不是造輪子能比擬的

短連接在手游上處理起來比長連接簡單一些, 無需做斷線重連. 服務器的底層也是由Golang的框架庫保證質量的. 因此負載毫無問題. 服務器對內及對外均使用json進行數據交換, 簡化了協議處理. 也方便了調試

json rpc的性能損耗對于整個邏輯的處理來說均可以忽略不計

posted on 2015-07-21 10:30 戰魂小筑 閱讀(5188) 評論(8)  編輯 收藏 引用 所屬分類: 網絡 服務器技術Golang

評論

# re: 大服務器架構討論 2015-07-21 10:43 小強哥
各個邏輯服務器之間的玩家有數據交互嗎?如果有,那么只是通過redis之間從mongo里把數據取出來,中間沒有一個統一的數據服務來做一些同步操作嘛?  回復  更多評論
  

# re: 大服務器架構討論 2015-07-21 10:44 戰魂小筑
@小強哥
每個區之間會有跨服邏輯, 跨服通過redis交互數據
同步操作都是服務器之間自己完成, 無需中間服務器進行同步  回復  更多評論
  

# re: 大服務器架構討論 2015-07-22 14:52 QQ:79039039-8
請問對于全局狀態,也是redis來緩存?
應該需要全局鎖操作吧,數據是否有多份呢?

否則,這個架構本身還是存在單點故障/瓶頸吧。(當然要分析目標玩家數量)。

我也在成都,下次有討論叫上我啊~  回復  更多評論
  

# re: 大服務器架構討論 2015-07-22 14:53 戰魂小筑
@QQ:79039039-8
加我的群討論吧

redis只是兩個服務器間某種邏輯的數據交換. 其實一般這種交換對數據的時效性要求不是那么及時. 鎖沒必要的  回復  更多評論
  

# re: 大服務器架構討論 2015-08-31 09:49 freeeyes
服務器開發實際上有兩種模式。
一種是你說的Actor模式,實際上,這種模式的關鍵是極度信賴內部網絡,雖然邏輯可以分散,但是在設計上,你必須做到數據消息狀態的解耦,否則,會給未來調試和測試帶來很多的問題。
無狀態數據,一般選擇http類似協議(因為現成,簡單高效,可以和腳本語言方便整合,適合移動網絡),一般情況下,Gate模式是比較受歡迎的。數據在入口驗證,所有的邏輯依靠后面負載的各種服務器(一般的情況可以選擇部分中間件作為消息傳遞手段,比如thrift,ice,tao等)。這種分布的基礎在于數據的流向并不確定,你不知道數據的下一個命中點在哪個服務器,所以對于持久化的數據(比如用戶信息,玩家數據等)必須支付更多的IO成本去做維護統一。那么,在這樣的模式下,服務器架構的穩定性,就被壓在IO上了。在排錯過程中,你必須確認數據在IO上的流動,從而需要支出部分維護架構的開發成本。并且最大的保證內部IO的穩定,當模塊變多和設計上的耦合需要,隨著功能的復雜,模塊間交互的增加,未來維護成本會較高。
一種是面向數據狀態的負載,這種相對比較好理解,比如前幾年的一些MMO游戲,這種模式開發的依賴不是IO,同樣可以支持Gate模式,但是,數據流的方向是指定的,也就是說,服務器的處理不以單獨一個功能模塊劃分,而是以一組的形式存在。一組服務在一臺主機上,這種模式依賴的是內存的效率。一般是采用共享內存節省數據交換的成本。這種狀態的模式,很難做到精確的負載均衡,而更加考驗的是,你的駕馭邏輯的能力,這里必須強調的前期的數據組織和開發能力。
兩種模式的比較,實際是你信任IO還是信任內存。你把維護放在需求開發后還是需求開發前的問題。
在實際開發過程中,沒有萬能藥,最關鍵的是,如何利用已有的資源去解決需求提出的問題。開發的關鍵,是把復雜變簡單。
最關鍵的是,架構是為人服務的,關鍵是要做到隔離性,獨立性,可維護性以及可替換性。  回復  更多評論
  

# re: 大服務器架構討論 2015-08-31 09:56 戰魂小筑
@freeeyes
非常給力的評論!  回復  更多評論
  

# re: 大服務器架構討論 2015-08-31 14:21 freeeyes
有興趣可以一起研究可服用的服務器架構?  回復  更多評論
  

# re: 大服務器架構討論 2015-12-01 17:04 mmocake
Actor模式非常贊  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲日本电影| 久久久久高清| 久久精品最新地址| 午夜免费电影一区在线观看| 亚洲一区二区三区视频播放| 一本色道久久综合亚洲精品不| 亚洲精品免费网站| 中日韩高清电影网| 午夜在线视频观看日韩17c| 欧美在线观看日本一区| 久久国产精品久久久久久电车 | 欧美性感一类影片在线播放| 欧美日韩在线免费| 国产精品热久久久久夜色精品三区| 国产精品99免费看| 国产性做久久久久久| 91久久精品美女| 亚洲一区二区在线免费观看视频| 亚洲欧美日韩国产一区二区| 久久久综合免费视频| 亚洲第一在线综合网站| 亚洲国产91| 欧美亚洲三区| 欧美福利专区| 国产精品丝袜白浆摸在线| 在线欧美视频| 午夜国产精品视频免费体验区| 欧美一区三区二区在线观看| 欧美激情aaaa| 国产亚洲日本欧美韩国| 一本久道久久久| 久久综合色88| 亚洲综合电影一区二区三区| 美国十次成人| 国产亚洲欧美日韩美女| 久久精品国产精品| av成人免费在线观看| 亚洲欧美成人网| 欧美福利视频网站| 激情视频一区二区三区| 亚洲一品av免费观看| 欧美福利电影网| 性欧美videos另类喷潮| 欧美日韩午夜| 亚洲理论在线观看| 免费在线视频一区| 欧美一区二区女人| 国产精品亚洲片夜色在线| 一级日韩一区在线观看| 免费看亚洲片| 欧美在线一级视频| 国产欧美精品一区二区三区介绍| 一区二区三区蜜桃网| 欧美二区在线观看| 久久视频精品在线| 在线观看一区| 欧美暴力喷水在线| 久久综合国产精品台湾中文娱乐网| 国产精品视频区| 香蕉久久夜色| 亚洲免费在线观看| 国产九九精品视频| 欧美一区三区三区高中清蜜桃 | 国产精品视频一二三| 亚洲图片欧美午夜| 在线一区免费观看| 国产精品久久久久久影视| 99国产精品| 亚洲伦理一区| 国产精品久久久久高潮| 亚洲一区二区三区精品动漫| 一区二区日韩精品| 国产色产综合色产在线视频| 久久久99爱| 久热精品视频在线| 99热免费精品在线观看| 一区二区激情视频| 国产欧美日韩视频| 欧美成人dvd在线视频| 欧美成人精品高清在线播放| 一区二区冒白浆视频| 亚洲一区二区在线看| 狠狠色丁香久久婷婷综合丁香| 亚洲电影专区| 国产精品国产三级国产专区53| 欧美在线高清| 欧美成人第一页| 午夜国产精品视频| 另类激情亚洲| 亚洲欧美经典视频| 久久精品视频在线播放| 亚洲乱码国产乱码精品精98午夜| 亚洲美女视频在线免费观看| 国产欧美欧洲在线观看| 91久久久一线二线三线品牌| 亚洲美女在线观看| 亚洲综合精品四区| 亚洲国产高清aⅴ视频| 日韩视频免费大全中文字幕| 国产欧美视频一区二区| 亚洲第一在线综合在线| 国产精品一区免费观看| 亚洲国产aⅴ天堂久久| 国产欧美日韩在线| 亚洲乱码一区二区| 亚洲国产精品传媒在线观看 | 欧美va亚洲va日韩∨a综合色| 亚洲无线视频| 美女精品一区| 久久久久久噜噜噜久久久精品| 欧美人成在线视频| 女人天堂亚洲aⅴ在线观看| 国产精品久久999| 亚洲国产一区二区在线| 狠狠综合久久| 午夜国产不卡在线观看视频| 亚洲香蕉网站| 欧美电影免费网站| 免费在线亚洲欧美| 一区在线观看视频| 欧美在线视频a| 欧美一区亚洲| 国产精品乱人伦中文| 日韩视频在线一区| 99伊人成综合| 欧美精品一卡二卡| 91久久久久久久久久久久久| 亚洲第一网站免费视频| 久久久久久久久久久成人| 久久久精品动漫| 国产日韩欧美在线视频观看| 亚洲一区二区三区国产| 亚洲欧美日韩国产| 国产精品嫩草影院一区二区| 一区二区三区四区国产| 亚洲线精品一区二区三区八戒| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲成色www8888| 精品动漫av| 久久久久久有精品国产| 久久久亚洲综合| 亚洲电影毛片| 另类专区欧美制服同性| 欧美www视频在线观看| 亚洲国产精品成人| 欧美韩国日本一区| 99在线精品观看| 午夜久久资源| 国产主播精品在线| 久久久亚洲人| 91久久午夜| 亚洲欧美日韩另类| 好吊一区二区三区| 亚洲高清一二三区| 欧美日韩不卡视频| 国产精品99久久久久久久女警| 亚洲性视频h| 国产精品亚洲综合天堂夜夜| 亚洲欧洲av一区二区三区久久| 久久久久久尹人网香蕉| 在线日韩精品视频| 欧美日韩不卡一区| 亚洲欧美欧美一区二区三区| 久久免费精品日本久久中文字幕| 狠狠色狠狠色综合日日五| 免费成人黄色| 日韩亚洲精品电影| 欧美在线视频一区二区| 亚洲韩国日本中文字幕| 欧美日韩亚洲一区二区三区在线观看| 亚洲少妇一区| 欧美大学生性色视频| 亚洲资源在线观看| 在线成人激情视频| 欧美日韩免费一区| 久久久999成人| 一本色道久久综合精品竹菊| 久久久午夜电影| 亚洲一二三级电影| 韩国精品一区二区三区| 欧美日韩在线直播| 久久嫩草精品久久久精品| 亚洲深夜福利视频| 亚洲电影成人| 久久午夜电影网| 亚洲欧美激情视频| 日韩午夜激情av| 国内外成人免费激情在线视频| 欧美日韩在线观看一区二区| 久久视频这里只有精品| 亚洲一区二区三区中文字幕在线| 欧美v亚洲v综合ⅴ国产v| 欧美一级大片在线免费观看| 91久久久久久久久久久久久| 国产亚洲欧美日韩精品| 国产精品久久久久久久久| 欧美国产第二页| 久久久久久电影| 欧美一区午夜精品| 亚洲视频1区2区|