幫助中心 | 我的帳號 | 關於我們

遊戲伺服器架構與優化/遊戲開發與設計技術叢書

  • 作者:蔡能
  • 出版社:機械工業
  • ISBN:9787111595472
  • 出版日期:2018/04/01
  • 裝幀:平裝
  • 頁數:314
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

內容大鋼
    《遊戲伺服器架構與優化》是—部從實操的角度講解各種類型遊戲和應用的伺服器的架構、設計、開發和優化的著作。
    作者蔡能是資深的遊戲伺服器技術專家和底層技術專家,有20余年開發和管理經驗,曾在網易工作7年,參與過各種類型遊戲的研發。
    本書針對MMORPG、SLG、卡牌、3D虛擬社區等各種遊戲,以及App、深度學習服務、商城等各種應用對應的伺服器的研發和優化給出了具體的指導意見。從單機到集群,從基礎的網路編程到分散式架構,由淺入深、前後呼應,整本書內容前後貫穿、邏輯縝密,對於開發和運維人員來說相當實用。
    全書共12章,分為三個部分:
    第—部分(第1?3章)網路和伺服器
    本書以Python為描述語言,所以首先詳細講解了Python中的網路編程模塊,然後講解了與伺服器相關的通信加密、WebSocket、多線程等技術。
    第二部分(第4?5章)存儲和資料庫
    這部分首先講解了資料庫存儲的基礎知識,如內存數據同步、數據備份與恢復、SQLite等;然後重點介紹了高併發伺服器的存儲方案、高速緩存方案、二進位緩存方案、大規模計算方案,以及基於區塊鏈技術的存儲方案。
    第三部分(第6?12章)伺服器架構及其方案
    第6章和第7章介紹了伺服器的架構演變以及不同類型的遊戲伺服器各自是如何交互的;第8章和第9章詳細講解了遊戲大廳和實時交互伺服器的架構、開發和優化;第10章講解了天梯和經濟系統的開發與設計;第11章講解了伺服器的承載量以及客戶端的優化方案;第12章介紹了與分散式伺服器相關的技術。

作者介紹
蔡能
    蔡能(DarkSpy),資深伺服器底層技術專家和遊戲伺服器開發專家,有超過20年的編碼和團隊管理經驗,是網易的早期員工之一。     在遊戲開發領域有非常深厚的積累,帶領團隊開發了各種類型的遊戲(PC端遊戲、移動端遊戲、VR/AR遊戲等)和應用伺服器,對伺服器的架構、編寫、優化和併發策略有深刻的認識和獨到的見解;在C/C++、Python、PHP等技術領域的經驗十分豐富。     在1996?2009年期間,曾編寫過極富盛名的EasyCode和EasyCode Pro,以及其他被收錄到各大雜誌典藏光碟的軟體,其中EasyCode在參加《程序員》網站舉辦的」中國共享軟體評比」活動時得票數在同類軟體中名列第一。是《程序員》雜誌2007?2008年C/C++領域的點評專家,擅長軟體架構和底層技術。2013年7月,接受《今日早報》關於遊戲行業的採訪。

目錄
前言
第一部分 網路和伺服器
  第1章 Python網路編程模塊
    1.1 Python Socket
    1.1.1 Socket套接字
    1.1.2 SOCK_STREAM、SOCK_DGRAM
    1.1.3 阻塞和非阻塞模式
    1.2 伺服器端其他Socket方法
    1.2.1 bind和listen
    1.2.2 setsockopt
    1.3 客戶端Socket
    1.4 通用的Socket方法
    1.4.1 recv和send
    1.4.2 recvfrom和sendto
    1.5 SimpleHTTPServer和BaseHTTPServer
    1.5.1 SimpleHTTPServer
    1.5.2 BaseHTTPServer
    1.6 urllib和urllib2
    1.6.1 urllib.urlopen和urllib2.urlopen
    1.6.2 urllib2中的GET和POST方法
    1.7 事件驅動框架Twisted
    1.7.1 Reactor模式
    1.7.2 run、stop和callLater
    1.7.3 Transports、Protocols、Protocol Factoies以及Deferred
  第2章 通信加密
    2.1 軟體、通信加密的幾種常用方案
    2.1.1 異或位運算加密
    2.1.2 其他對稱加密
    2.1.3 非對稱加密
    2.2 OpenSSL
    2.2.1 生成證書
    2.2.2 公鑰和私鑰的配置
    2.3 SSL/TLS通信
    2.3.1 SSL/TLS連接
    2.3.2 SSL/TLS HTTPS通信
    2.4 其他加密方式
    2.4.1 散列演算法
    2.4.2 BASE64
    2.4.3 多國語言
  第3章 伺服器實作
    3.1 構建Python Websocket伺服器
    3.1.1 Websocket的應用場景
    3.1.2 實作Websocket握手協議
    3.1.3 MAGIC_STRING在Websocket中的作用
    3.1.4 Websocket 啟動
    3.1.5 Websocket消息拆分和讀取
    3.2 多線程伺服器
    3.2.1 Python的多線程模式
    3.2.2 鎖
    3.2.3 Python GIL

    3.2.4 multiprocess的解決思路
    3.2.5 給Websocket加上多線程
    3.3 線程池
    3.3.1 默認線程池和進程池
    3.3.2 協程
    3.3.3 第三方庫
    3.3.4 gevent的數據結構
第二部分 存儲與資料庫
  第4章 基礎內容存儲
    4.1 資料庫存儲的種類
    4.2 SQL與NoSQL
    4.2.1 SQL
    4.2.2 SQL語句語法
    4.2.3 NoSQL
    4.2.4 NoSQL語句語法
    4.3 內存與IO讀寫速度
    4.4 同步內存數據
    4.4.1 Redis資料庫的持久性
    4.4.2 Redis主從資料庫複製
    4.5 數據備份和恢復
    4.5.1 備份的類型
    4.5.2 使用Python編寫備份代碼
    4.6 不可或缺的SQLite
  第5章 存儲方案
    5.1 高併發伺服器的存儲方案
    5.1.1 網站高併發伺服器的策略
    5.1.2 資料庫的鎖
    5.2 高速緩存
    5.2.1 Memcached
    5.2.2 大文件緩存
    5.2.3 分散式和集群
    5.3 二進位存儲方案
    5.3.1 磁碟IO和緩存
    5.3.2 圖片和影音文件
    5.4 大規模計算
    5.4.1 圖片伺服器的架構
    5.4.2 讀取和寫入文本
    5.4.3 文本搜索方案
    5.5 區塊鏈技術
第三部分 伺服器架構及其方案
  第6章 遊戲伺服器初探
    6.1 伺服器消息和輪詢
    6.1.1 卡牌遊戲和弱連接
    6.1.2 消息的輪詢
    6.2 遊戲伺服器架構演變
    6.2.1 「上古時代」的遊戲伺服器
    6.2.2 近代的網路遊戲伺服器
    6.2.3 近現代經典遊戲伺服器模型
    6.3 地圖的無縫連接
    6.3.1 無縫連接的分析

    6.3.2 無縫地圖更深層次的問題
  第7章 遊戲伺服器的交互
    7.1 無狀態和有狀態的伺服器設計方案
    7.1.1 無狀態的伺服器設計方案
    7.1.2 有狀態的伺服器設計方案
    7.2 輪詢
    7.3 集群方案
    7.3.1 集群的幾種方式
    7.3.2 集群的方案
    7.3.3 資料庫方案
    7.3.4 Web服務和資料庫
    7.3.5 其他方案
    7.4 定時任務
  第8章 遊戲大廳
    8.1 大廳登錄流程
    8.1.1 登錄和選擇遊戲區
    8.1.2 註冊和登錄
    8.2 中間件
    8.2.1 中間件的相關概念
    8.2.2 ElasticSearch
    8.2.3 在Python中使用ES
    8.3 聊天服務
    8.3.1 聊天伺服器的搭建
    8.3.2 聊天內容的獲取和分發
    8.4 大廳與遊戲的對接
    8.4.1 創建房間
    8.4.2 與遊戲的對接
  第9章 實時交互伺服器
    9.1 長連接和強交互
    9.1.1 TCP連接
    9.1.2 多線程
    9.1.3 非同步控制
    9.1.4 加入隊列
    9.2 使用UDP的方案
    9.2.1 什麼是UDP協議
    9.2.2 TCP協議和UDP協議的區別
    9.2.3 使用Python編寫UDP服務
    9.2.4 加入多線程
    9.3 協議包的設計和實現
    9.3.1 協議包頭和包身
    9.3.2 協議包完整性
    9.3.3 協議的加密和壓縮
    9.3.4 協議包混淆
    9.4 斷線重連
  第10章 天梯和經濟系統
    10.1 什麼是天梯
    10.1.1 天梯的框架
    10.1.2 數據載入
    10.2 天梯層級
    10.3 經濟系統

    10.3.1 經濟系統
    10.3.1  經濟系統簡介
    10.3.2  經濟系統的設計
    10.3.3  通貨膨脹
    10.4  預留介面和熱更新
    10.4.1  如何預留介面
    10.4.2  代碼熱更新
  第11章  伺服器承載量和客戶端優化方案
    11.1  心跳服務
    11.1.1  應用層的心跳服務
    11.1.2  心跳包協議
    11.2  同步校驗
    11.2.1  伺服器數據包同步
    11.2.2  遊戲世界的同步
    11.3  伺服器承載
    11.3.1  Python的多線程併發
    11.3.2  混合C/C++之一
    11.3.3  混合C/C++之二
    11.4  守護者進程
    11.4.1  Windows下的守護者進程
    11.4.2  監控和重啟進程
    11.5  客戶端優化方案
    11.5.1  優化解決方案
    11.5.2  遊戲引擎
  第12章  分散式伺服器
    12.1  什麼是分散式系統
    12.1.1  分散式文件系統
    12.1.2  分散式服務
    12.1.3  Python實現
    12.2  流式處理
    12.2.1  Storm
    12.2.2  Spark
    12.2.3  Samza
    12.2.4  Flink
    12.2.5  Trident
    12.3  Pytlaon分散式框架
附錄A  不同語言之間的區別

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032