牌類遊戲使用微服務重構筆記(一): 先定個小目標

前言

牌類遊戲與微服務是沒有什麼聯繫的,僅僅是由於筆者從事牌類遊戲行業的開發工做,近期由於老框架在負載上升後遇到不少棘手的問題,須要從架構上作調整,我選擇了微服務進行重構html

  • 語言層面上,選擇了golang
  • 發佈部署工具上,選擇了kubernetes, 主要考慮是團隊人太少,須要一個這樣事半功倍的工具,此前也寫過一點相關的博客,kubernetes學習筆記 (二):k8s初體驗
  • 微服務框架上,選擇了micro,主要考慮是比較相信這個來自谷歌的大牛,框架寫的是至關的不錯
  • 數據序列化協議選擇了protobuf替換了原來的json方式
  • rpc框架上,選擇了谷歌的grpc, 主要是考慮語言中立、高性能,比較適合遊戲
  • 服務發現,服務註冊,選擇了consul,主要考慮是簡單 方便.正式環境下使用k8s自帶的服務發現,後文會有詳細介紹
  • service mesh暫未考慮,主要是買了本書看完感受掌握程度不高,暫時放棄了,訪問服務以micro提供的方法硬編碼訪問(其實也很方便)

除了微服務相關的,遊戲自己業務方面也進行了一些優化,主要有:golang

  • 遊戲房間和遊戲自己分離,使得不管是房間玩法的拓展仍是遊戲玩法的拓展都很容易
  • 遊戲與算法分離,能夠獨立編寫,獨立測試
  • 撲克遊戲設計
  • 麻將遊戲設計
  • 使用proto二進制數據傳輸的通用websocket網關

博客內容

牌類遊戲使用微服務重構筆記(二): micro框架簡介:micro toolkit
牌類遊戲使用微服務重構筆記(三): micro框架簡介 go-micro
牌類遊戲使用微服務重構筆記(四): micro框架使用經驗
牌類遊戲使用微服務重構筆記(五): micro源碼閱讀
牌類遊戲使用微服務重構筆記(六): protobuf爬坑
牌類遊戲使用微服務重構筆記(七): 使用grpc構建遊戲雙向流
牌類遊戲使用微服務重構筆記(八): 遊戲網關服務器
牌類遊戲使用微服務重構筆記(九): 遊戲多版本兼容與熱更新
牌類遊戲使用微服務重構筆記(十): 麻將設計
牌類遊戲使用微服務重構筆記(十一): 撲克設計
牌類遊戲使用微服務重構筆記(十二): 在k8s中部署web

...算法

本人學習golang、micro、k8s、grpc、protobuf等知識的時間較短,若是有理解錯誤的地方,歡迎批評指正,能夠加我微信一塊兒探討學習json

相關文章
相關標籤/搜索