棋牌遊戲 後端架構(1)

2022-02-01 03:40:00 字數 718 閱讀 7102

涉及技術:c++,php7,swoole,

主要分為三大塊,後面一塊一塊來講。

1. 通訊網關

所有遊戲server均會主動註冊和所有通訊網關建立連線,並監聽協議,

每個server均有乙個獨立的serverid,客戶端在選擇遊戲時,會在每條訊息協議中增加此serverid,告訴通訊網關訊息往哪發。

涉及技術:c++\libevent實現非同步訊息處理**,採用自定頭+protobuf協議。

細節:需要支援websocket及心跳處理。

2.web

提供api介面,主要用於玩家登入、支付、活動、配置等。

涉及技術:phalcon,php7,redis訊息佇列,分表分庫。

ps:一般業務操作基本都是先操作快取,再通過訊息佇列寫入mysql資料庫,提高併發能力,[不過現實中有點悲催,沒量]

3.微服務模組,主要用於提供遊戲server和web間共用資料,解除依賴。

基於redis+mysql+訊息佇列進行資料高併發處理,利用雲服務的負載均衡做分布式擴充套件。

主要涉及技術:swoole+php7+socket

注:web和微服務之前的依賴**,通過composer來管理實現共用。

簡圖:

近來無事,後面再根據時間,一塊塊來寫寫,也回顧覆盤下,看看有什麼改進的地方。

棋牌遊戲例子

器的計算能力合併成邏輯上的一台單一伺服器,所以本示例中我們只考慮單伺服器 單程序的設計方法。對於玩家,需要支援的操作有 1.登入 2.檢視房間列表 3.建立房價 4.進入房間 5.玩遊戲 6.房間內聊天 7.遊戲完成,退出房間 8.退出登入 系統設計 玩家 id,使用者名稱,等級,經驗 子系統 玩家...

滲透H5棋牌遊戲 棋牌遊戲開發

0x01 前言 本來不想發的,涉及太多利益了,這些棋牌遊戲的原始碼最高能賣到幾萬。開發起來不比乙個商場程序難。最近又太忙了,沒時間去做程式碼審計的文章了,但一不小心又搶了個運氣王。0x02 開始 一天做這行的朋友來找我,說幫審計下一套程序,正好這邊的缺一篇文章就順便去看看了。開始看了下目錄,找了幾個...

棋牌遊戲伺服器架構設計

一,棋牌類伺服器的特點 1,棋牌類不分割槽不分服 一般來說,棋牌遊戲都是不分割槽不分服的。所以棋牌類伺服器要滿足隨著使用者量的增加而擴充套件的需要。2,房間模式 即在同一局遊戲中就是在同乙個房間中,同乙個房間中的人可以接收到其他人的訊息。3,每個房間的操作必須是順序性 這個特性類似與一般遊戲的回合制...