- Java游戲服務器架構實戰
- 王廣帥編著
- 414字
- 2025-03-19 16:19:09
1.1.2 良好的架構設計有助于避免bug的產生
架構設計也是經驗的總結。一般來說,一個成功的商業化游戲服務器項目,它的架構都是由從事游戲服務器開發多年、經驗豐富的人設計開發的。通過經驗的總結,把容易出錯的公共部分使用架構來規避,并且通過嚴密的測試,最終實現消除隱患。
比如涉及網絡通信的問題,有的開發人員在設計的時候,只考慮接收客戶端的消息,并且實現正常返回消息即可,而沒有考慮到多線程處理消息,導致數據不一致,出現一些莫名其妙的問題。特別是以Web服務作為服務器的時候,因為Web服務底層接收的消息會被放到一個固定大小的線程池中,所以每個HTTP請求在Controller中處理的時候,都可能在不同的線程里面。如果出現并發請求,就有可能導致數據錯誤。
在架構設計中可以提交預知并解決這個問題。比如給同一個用戶請求的消息加鎖或者把請求消息分配到固定的消息隊列中,由另外的線程按順序取出消息并處理。這樣在處理業務的時候,就不需要擔心請求并發問題了,防止開發業務時考慮不周而產生bug。
推薦閱讀