1. 程式人生 > >從零打造通用遊戲伺服器----開篇、目錄

從零打造通用遊戲伺服器----開篇、目錄

開篇

隨著go語言學習的深入,包括實際中自己的需求,決定從頭實現一套自己的微服務架構的遊戲伺服器。其中會融入很多我對於微服務的理解,以及對於整體架構設計思想的表達。 全部文章不涉及到具體的程式碼實現,只包含結構設計、程式設計、表設計、快取設計,力求按照文中內容無論使用任何語言均能快速搭建出設計的服務。

我理解的微服務

按照我對於微服務的理解,微服務應該符合的標準:

  1. 獨立性 ,一個服務提供一個功能。例如日誌服務,只提供將請求的資料寫入到日誌檔案中。
  2. 通用性,服務提供的功能能儘可能的支援各類需求。依然拿日誌服務舉例,日誌有很多種格式化方式,那麼這些差異內容交給服務呼叫方去決定,日誌服務只提供將呼叫方請求的字串寫入到日誌中。
  3. 擴充套件性,現代的網際網路公司越來越看重大資料下的伺服器表現,以及如果一開始沒有做好對大規模請求的處理,後面再來進行重構將是非常痛苦的一件事情。因此最好能實現水平擴充套件。
  4. 平衡性,最理想話的服務,是隻提供一個單一的服務,如果有其他需求,則通過呼叫另一個提供該服務的服務來解決。但是服務越多,耦合越大,越不利於維護,因此服務的功能與獨立要充分考慮權衡。

服務列表

  1. 使用者伺服器
  2. 邏輯伺服器
  3. 排行榜伺服器
  4. 郵件伺服器
  5. 日誌伺服器
  6. 戰鬥伺服器
  7. web伺服器
  8. 聊天伺服器