最新章節
- 13.3 本章總結
- 13.2.4 分布式世界聊天服務測試
- 13.2.3 實現聊天消息的發布與轉發
- 13.2.2 創建單獨的聊天項目
- 13.2.1 分布式世界聊天系統設計
- 13.2 分布式世界聊天系統實現
品牌:人郵圖書
上架時間:2025-03-19 15:21:21
出版社:人民郵電出版社
本書數字版權由人郵圖書提供,并由其授權上海閱文信息技術有限公司制作發行
- 13.3 本章總結 更新時間:2025-03-19 16:20:10
- 13.2.4 分布式世界聊天服務測試
- 13.2.3 實現聊天消息的發布與轉發
- 13.2.2 創建單獨的聊天項目
- 13.2.1 分布式世界聊天系統設計
- 13.2 分布式世界聊天系統實現
- 13.1.3 單服世界聊天測試
- 13.1.2 服務器實現消息轉發
- 13.1.1 添加客戶端命令
- 13.1 單服世界聊天系統實現
- 第13章 服務器開發實例——世界聊天系統
- 12.3 本章總結
- 12.2.5 使用TestNG配置文件區分不同的測試環境
- 12.2.4 服務器集成測試實現
- 12.2.3 方法單元測試案例實現
- 12.2.2 Spring Boot單元測試配置
- 12.2.1 TestNG框架簡介
- 12.2 游戲服務器自動化測試的實現
- 12.1.3 自動化測試保證代碼重構的安全性
- 12.1.2 單元測試保證方法的代碼正確性
- 12.1.1 單元測試使代碼更簡潔
- 12.1 游戲服務器自動化測試的重要性
- 第12章 游戲服務器自動化測試
- 11.4 本章總結
- 11.3.3 面向對象的事件觸發式任務系統實現
- 11.3.2 面向過程的任務系統實現
- 11.3.1 任務系統需求
- 11.3 根據事件實現的任務系統
- 11.2.3 Spring事件系統應用
- 11.2.2 自定義基于注解的事件系統
- 11.2.1 自定義基于監聽接口的事件系統
- 11.2 事件系統的實現
- 11.1.3 事件系統使代碼更容易維護
- 11.1.2 事件系統可以解耦模塊依賴
- 11.1.1 什么是事件系統
- 11.1 事件系統在服務器開發中的重要性
- 第11章 事件系統的設計與實現
- 10.3 本章總結
- 10.2.6 RPC請求超時檢測
- 10.2.5 RPC響應消息的發送與接收
- 10.2.4 RPC請求消息的發送與接收
- 10.2.3 創建競技場服務項目
- 10.2.2 負載均衡管理
- 10.2.1 自定義RPC設計
- 10.2 RPC通信實現
- 10.1.2 游戲服務模塊進程劃分規則
- 10.1.1 游戲服務需不需要微服務化
- 10.1 游戲模塊服務劃分
- 第10章 RPC通信設計與實現
- 9.4 本章總結
- 9.3.2 實現Player對象數據與行為分離
- 9.3.1 直接操作Player對象的弊端
- 9.3 Player對象的封裝與使用
- 9.2.3 數據定時異步持久化實現
- 9.2.2 異步方式持久化數據的并發問題
- 9.2.1 游戲數據持久化方式
- 9.2 游戲數據持久化到數據庫
- 9.1.2 異步加載游戲數據實現
- 9.1.1 加載游戲數據的時機
- 9.1 游戲用戶數據異步加載
- 第9章 游戲用戶數據管理
- 8.5 本章總結
- 8.4.4 GameChannel事件自動分發處理
- 8.4.3 在架構設計上解決用戶數據之間的直接交互
- 8.4.2 在功能設計上避免用戶數據之間的直接交互
- 8.4.1 多線程并發操作數據導致的錯誤或異常
- 8.4 不同游戲用戶之間的數據交互
- 8.3.8 GameChannel空閑超時處理
- 8.3.7 實現客戶端消息處理與消息返回
- 8.3.6 實現AbstractGameChannelHandlerContext
- 8.3.5 實現GameChannelPipeline
- 8.3.4 實現GameChannel
- 8.3.3 實現自定義MultithreadEventExecutorGroup
- 8.3.2 客戶端消息事件處理框架模型
- 8.3.1 借鑒Netty的消息處理機制
- 8.3 客戶端消息處理管理
- 8.2.2 獲取線程池執行結果
- 8.2.1 Netty線程模型的核心類
- 8.2 Netty線程池模型
- 8.1.2 游戲服務線程池分配
- 8.1.1 線程數量的管理
- 8.1 游戲服務器中的多線程管理
- 第8章 游戲業務處理框架開發
- 7.4 本章總結
- 7.3 游戲服務器網關與游戲服務通信測試
- 7.2.6 游戲服務接收并響應網關消息
- 7.2.5 添加游戲業務服務項目
- 7.2.4 游戲服務器網關監聽接收響應消息
- 7.2.3 游戲服務器網關消息轉發實現
- 7.2.2 游戲服務器網關消息負載均衡
- 7.2.1 消息序列化與反序列化實現
- 7.2 游戲服務器網關與游戲業務服務通信實現
- 7.1.5 消息總線消息發布訂閱測試
- 7.1.4 消息總線通信層——Kafka
- 7.1.3 Spring Cloud Bus 消息總線
- 7.1.2 定義消息通信模型
- 7.1.1 游戲服務器網關消息轉發
- 7.1 游戲服務器網關與游戲業務服務通信定義
- 第7章 游戲服務器網關與游戲業務服務數據通信
- 6.8 本章總結
- 6.7.3 消息冪等處理
- 6.7.2 連接心跳檢測
- 6.7.1 連接管理
- 6.7 網絡連接管理
- 6.6.3 游戲服務器網關流量限制
- 6.6.2 通信協議加密和解密
- 6.6.1 連接認證
- 6.6 網絡通信安全
- 6.5.2 消息自動分發開發
- 6.5.1 消息自動分發設計
- 6.5 消息自動分發處理
- 6.4.2 消息體使用Protocol Buffers序列化與反序列化
- 6.4.1 消息體使用JSON序列化與反序列化
- 6.4 消息體對象序列化與反序列化
- 6.3.2 客戶端與游戲服務器網關通信測試
- 6.3.1 請求與響應消息封裝
- 6.3 請求消息參數與響應消息參數對象化
- 6.2.6 使用Netty實現游戲服務器網關長連接服務
- 6.2.5 游戲服務器網關消息編碼與解碼開發
- 6.2.4 客戶端消息編碼與解碼開發
- 6.2.3 網絡通信協議制定
- 6.2.2 網絡通信數據粘包與斷包
- 6.2.1 客戶端項目創建
- 6.2 客戶端與游戲服務器網關通信開發
- 6.1.5 測試游戲服務器網關信息
- 6.1.4 游戲服務器網關負載均衡策略
- 6.1.3 游戲服務器網關信息緩存管理
- 6.1.2 游戲服務器網關項目搭建與配置
- 6.1.1 游戲服務器網關必須支持動態伸縮
- 6.1 游戲服務器網關管理
- 第6章 游戲服務器網關開發
- 5.8 本章總結
- 5.7.3 異常捕獲測試
- 5.7.2 自定義全局Web異常捕獲
- 5.7.1 默認全局Web異常捕獲
- 5.7 服務錯誤異常全局捕獲
- 5.6.4 測試HTTPS訪問
- 5.6.3 網關服務配置HTTPS證書
- 5.6.2 HTTPS證書申請
- 5.6.1 HTTPS簡介
- 5.6 HTTPS請求配置
- 5.5.3 Web服務限流測試
- 5.5.2 添加Web服務器網關限流策略
- 5.5.1 常見的限流算法
- 5.5 網關流量限制
- 5.4.3 負載均衡策略配置
- 5.4.2 自定義負載均衡策略
- 5.4.1 負載均衡組件——Spring Cloud Ribbon
- 5.4 請求負載均衡
- 5.3.4 測試網關權限驗證
- 5.3.3 GlobalFilter實現權限驗證
- 5.3.2 網關全局過濾組件——GlobalFilter
- 5.3.1 在Web服務器網關進行權限驗證的必要性
- 5.3 統一驗證請求權限
- 5.2.4 測試Web服務器網關請求轉發
- 5.2.3 網關路由信息配置
- 5.2.2 創建Web服務器網關項目
- 5.2.1 Spring Cloud Gateway簡介
- 5.2 Web服務器網關功能開發
- 5.1.2 安裝Consul
- 5.1.1 Consul簡介
- 5.1 Consul服務注冊中心
- 第5章 Web服務器網關開發
- 4.4 本章總結
- 4.3.8 角色創建測試
- 4.3.7 實現角色創建
- 4.3.6 登錄注冊測試
- 4.3.5 全局異常捕獲處理
- 4.3.4 實現登錄注冊
- 4.3.3 添加數據庫操作
- 4.3.2 網絡通信數據格式定義
- 4.3.1 創建游戲服務中心項目
- 4.3 用戶登錄注冊功能開發
- 4.2.4 添加公共pom依賴
- 4.2.3 安裝Spring Tool插件
- 4.2.2 Spring Cloud簡介
- 4.2.1 根據需求設計架構
- 4.2 游戲服務中心開發準備
- 4.1.2 游戲服務中心方便動態擴展
- 4.1.1 游戲服務中心提供游戲外圍服務
- 4.1 游戲服務中心的作用
- 第4章 游戲服務中心開發
- 3.3 本章總結
- 3.2.3 使用Redis緩存需要注意的事項
- 3.2.2 安裝Redis
- 3.2.1 為什么使用Redis
- 3.2 內存型數據庫——Redis
- 3.1.2 安裝MongoDB
- 3.1.1 為什么使用MongoDB
- 3.1 數據持久化——MongoDB
- 第3章 數據庫選擇與安裝
- 2.4 本章總結
- 2.3.2 創建子項目
- 2.3.1 創建父項目
- 2.3 創建Maven項目
- 2.2.3 添加非開源依賴Jar包
- 2.2.2 在Maven中配置私服
- 2.2.1 安裝Nexus
- 2.2 搭建Maven倉庫中心
- 2.1.3 Maven常用命令示例
- 2.1.2 Maven環境變量配置
- 2.1.1 Maven下載與配置
- 2.1 Eclipse中配置Maven工具
- 第2章 服務器項目管理——Maven
- 1.4 本章總結
- 1.3.5 測試模塊
- 1.3.4 業務處理框架
- 1.3.3 服務消息交互——消息中間件
- 1.3.2 網關
- 1.3.1 網絡通信長連接與短連接
- 1.3 游戲服務器架構基本模塊
- 1.2.2 分布式游戲服務器架構
- 1.2.1 單體游戲服務器架構
- 1.2 游戲服務器架構分類
- 1.1.4 良好的架構設計有利于測試
- 1.1.3 良好的架構設計有助于制定合理的項目開發周期計劃
- 1.1.2 良好的架構設計有助于避免bug的產生
- 1.1.1 良好的架構設計有助于團隊協作開發
- 1.1 游戲服務器架構設計的意義
- 第1章 游戲服務器架構總體設計
- 前言
- 內容提要
- 版權信息
- 封面
- 封面
- 版權信息
- 內容提要
- 前言
- 第1章 游戲服務器架構總體設計
- 1.1 游戲服務器架構設計的意義
- 1.1.1 良好的架構設計有助于團隊協作開發
- 1.1.2 良好的架構設計有助于避免bug的產生
- 1.1.3 良好的架構設計有助于制定合理的項目開發周期計劃
- 1.1.4 良好的架構設計有利于測試
- 1.2 游戲服務器架構分類
- 1.2.1 單體游戲服務器架構
- 1.2.2 分布式游戲服務器架構
- 1.3 游戲服務器架構基本模塊
- 1.3.1 網絡通信長連接與短連接
- 1.3.2 網關
- 1.3.3 服務消息交互——消息中間件
- 1.3.4 業務處理框架
- 1.3.5 測試模塊
- 1.4 本章總結
- 第2章 服務器項目管理——Maven
- 2.1 Eclipse中配置Maven工具
- 2.1.1 Maven下載與配置
- 2.1.2 Maven環境變量配置
- 2.1.3 Maven常用命令示例
- 2.2 搭建Maven倉庫中心
- 2.2.1 安裝Nexus
- 2.2.2 在Maven中配置私服
- 2.2.3 添加非開源依賴Jar包
- 2.3 創建Maven項目
- 2.3.1 創建父項目
- 2.3.2 創建子項目
- 2.4 本章總結
- 第3章 數據庫選擇與安裝
- 3.1 數據持久化——MongoDB
- 3.1.1 為什么使用MongoDB
- 3.1.2 安裝MongoDB
- 3.2 內存型數據庫——Redis
- 3.2.1 為什么使用Redis
- 3.2.2 安裝Redis
- 3.2.3 使用Redis緩存需要注意的事項
- 3.3 本章總結
- 第4章 游戲服務中心開發
- 4.1 游戲服務中心的作用
- 4.1.1 游戲服務中心提供游戲外圍服務
- 4.1.2 游戲服務中心方便動態擴展
- 4.2 游戲服務中心開發準備
- 4.2.1 根據需求設計架構
- 4.2.2 Spring Cloud簡介
- 4.2.3 安裝Spring Tool插件
- 4.2.4 添加公共pom依賴
- 4.3 用戶登錄注冊功能開發
- 4.3.1 創建游戲服務中心項目
- 4.3.2 網絡通信數據格式定義
- 4.3.3 添加數據庫操作
- 4.3.4 實現登錄注冊
- 4.3.5 全局異常捕獲處理
- 4.3.6 登錄注冊測試
- 4.3.7 實現角色創建
- 4.3.8 角色創建測試
- 4.4 本章總結
- 第5章 Web服務器網關開發
- 5.1 Consul服務注冊中心
- 5.1.1 Consul簡介
- 5.1.2 安裝Consul
- 5.2 Web服務器網關功能開發
- 5.2.1 Spring Cloud Gateway簡介
- 5.2.2 創建Web服務器網關項目
- 5.2.3 網關路由信息配置
- 5.2.4 測試Web服務器網關請求轉發
- 5.3 統一驗證請求權限
- 5.3.1 在Web服務器網關進行權限驗證的必要性
- 5.3.2 網關全局過濾組件——GlobalFilter
- 5.3.3 GlobalFilter實現權限驗證
- 5.3.4 測試網關權限驗證
- 5.4 請求負載均衡
- 5.4.1 負載均衡組件——Spring Cloud Ribbon
- 5.4.2 自定義負載均衡策略
- 5.4.3 負載均衡策略配置
- 5.5 網關流量限制
- 5.5.1 常見的限流算法
- 5.5.2 添加Web服務器網關限流策略
- 5.5.3 Web服務限流測試
- 5.6 HTTPS請求配置
- 5.6.1 HTTPS簡介
- 5.6.2 HTTPS證書申請
- 5.6.3 網關服務配置HTTPS證書
- 5.6.4 測試HTTPS訪問
- 5.7 服務錯誤異常全局捕獲
- 5.7.1 默認全局Web異常捕獲
- 5.7.2 自定義全局Web異常捕獲
- 5.7.3 異常捕獲測試
- 5.8 本章總結
- 第6章 游戲服務器網關開發
- 6.1 游戲服務器網關管理
- 6.1.1 游戲服務器網關必須支持動態伸縮
- 6.1.2 游戲服務器網關項目搭建與配置
- 6.1.3 游戲服務器網關信息緩存管理
- 6.1.4 游戲服務器網關負載均衡策略
- 6.1.5 測試游戲服務器網關信息
- 6.2 客戶端與游戲服務器網關通信開發
- 6.2.1 客戶端項目創建
- 6.2.2 網絡通信數據粘包與斷包
- 6.2.3 網絡通信協議制定
- 6.2.4 客戶端消息編碼與解碼開發
- 6.2.5 游戲服務器網關消息編碼與解碼開發
- 6.2.6 使用Netty實現游戲服務器網關長連接服務
- 6.3 請求消息參數與響應消息參數對象化
- 6.3.1 請求與響應消息封裝
- 6.3.2 客戶端與游戲服務器網關通信測試
- 6.4 消息體對象序列化與反序列化
- 6.4.1 消息體使用JSON序列化與反序列化
- 6.4.2 消息體使用Protocol Buffers序列化與反序列化
- 6.5 消息自動分發處理
- 6.5.1 消息自動分發設計
- 6.5.2 消息自動分發開發
- 6.6 網絡通信安全
- 6.6.1 連接認證
- 6.6.2 通信協議加密和解密
- 6.6.3 游戲服務器網關流量限制
- 6.7 網絡連接管理
- 6.7.1 連接管理
- 6.7.2 連接心跳檢測
- 6.7.3 消息冪等處理
- 6.8 本章總結
- 第7章 游戲服務器網關與游戲業務服務數據通信
- 7.1 游戲服務器網關與游戲業務服務通信定義
- 7.1.1 游戲服務器網關消息轉發
- 7.1.2 定義消息通信模型
- 7.1.3 Spring Cloud Bus 消息總線
- 7.1.4 消息總線通信層——Kafka
- 7.1.5 消息總線消息發布訂閱測試
- 7.2 游戲服務器網關與游戲業務服務通信實現
- 7.2.1 消息序列化與反序列化實現
- 7.2.2 游戲服務器網關消息負載均衡
- 7.2.3 游戲服務器網關消息轉發實現
- 7.2.4 游戲服務器網關監聽接收響應消息
- 7.2.5 添加游戲業務服務項目
- 7.2.6 游戲服務接收并響應網關消息
- 7.3 游戲服務器網關與游戲服務通信測試
- 7.4 本章總結
- 第8章 游戲業務處理框架開發
- 8.1 游戲服務器中的多線程管理
- 8.1.1 線程數量的管理
- 8.1.2 游戲服務線程池分配
- 8.2 Netty線程池模型
- 8.2.1 Netty線程模型的核心類
- 8.2.2 獲取線程池執行結果
- 8.3 客戶端消息處理管理
- 8.3.1 借鑒Netty的消息處理機制
- 8.3.2 客戶端消息事件處理框架模型
- 8.3.3 實現自定義MultithreadEventExecutorGroup
- 8.3.4 實現GameChannel
- 8.3.5 實現GameChannelPipeline
- 8.3.6 實現AbstractGameChannelHandlerContext
- 8.3.7 實現客戶端消息處理與消息返回
- 8.3.8 GameChannel空閑超時處理
- 8.4 不同游戲用戶之間的數據交互
- 8.4.1 多線程并發操作數據導致的錯誤或異常
- 8.4.2 在功能設計上避免用戶數據之間的直接交互
- 8.4.3 在架構設計上解決用戶數據之間的直接交互
- 8.4.4 GameChannel事件自動分發處理
- 8.5 本章總結
- 第9章 游戲用戶數據管理
- 9.1 游戲用戶數據異步加載
- 9.1.1 加載游戲數據的時機
- 9.1.2 異步加載游戲數據實現
- 9.2 游戲數據持久化到數據庫
- 9.2.1 游戲數據持久化方式
- 9.2.2 異步方式持久化數據的并發問題
- 9.2.3 數據定時異步持久化實現
- 9.3 Player對象的封裝與使用
- 9.3.1 直接操作Player對象的弊端
- 9.3.2 實現Player對象數據與行為分離
- 9.4 本章總結
- 第10章 RPC通信設計與實現
- 10.1 游戲模塊服務劃分
- 10.1.1 游戲服務需不需要微服務化
- 10.1.2 游戲服務模塊進程劃分規則
- 10.2 RPC通信實現
- 10.2.1 自定義RPC設計
- 10.2.2 負載均衡管理
- 10.2.3 創建競技場服務項目
- 10.2.4 RPC請求消息的發送與接收
- 10.2.5 RPC響應消息的發送與接收
- 10.2.6 RPC請求超時檢測
- 10.3 本章總結
- 第11章 事件系統的設計與實現
- 11.1 事件系統在服務器開發中的重要性
- 11.1.1 什么是事件系統
- 11.1.2 事件系統可以解耦模塊依賴
- 11.1.3 事件系統使代碼更容易維護
- 11.2 事件系統的實現
- 11.2.1 自定義基于監聽接口的事件系統
- 11.2.2 自定義基于注解的事件系統
- 11.2.3 Spring事件系統應用
- 11.3 根據事件實現的任務系統
- 11.3.1 任務系統需求
- 11.3.2 面向過程的任務系統實現
- 11.3.3 面向對象的事件觸發式任務系統實現
- 11.4 本章總結
- 第12章 游戲服務器自動化測試
- 12.1 游戲服務器自動化測試的重要性
- 12.1.1 單元測試使代碼更簡潔
- 12.1.2 單元測試保證方法的代碼正確性
- 12.1.3 自動化測試保證代碼重構的安全性
- 12.2 游戲服務器自動化測試的實現
- 12.2.1 TestNG框架簡介
- 12.2.2 Spring Boot單元測試配置
- 12.2.3 方法單元測試案例實現
- 12.2.4 服務器集成測試實現
- 12.2.5 使用TestNG配置文件區分不同的測試環境
- 12.3 本章總結
- 第13章 服務器開發實例——世界聊天系統
- 13.1 單服世界聊天系統實現
- 13.1.1 添加客戶端命令
- 13.1.2 服務器實現消息轉發
- 13.1.3 單服世界聊天測試
- 13.2 分布式世界聊天系統實現
- 13.2.1 分布式世界聊天系統設計
- 13.2.2 創建單獨的聊天項目
- 13.2.3 實現聊天消息的發布與轉發
- 13.2.4 分布式世界聊天服務測試
- 13.3 本章總結 更新時間:2025-03-19 16:20:10