• Java游戏服务器架构实战
21年品牌 40万+商家 超1.5亿件商品

Java游戏服务器架构实战

全新正版 极速发货

49.43 6.3折 79 全新

库存8件

广东广州
认证卖家担保交易快速发货售后保障

作者王广帅

出版社人民邮电出版社

ISBN9787115540478

出版时间2020-09

装帧平装

开本16开

定价79元

货号1202124211

上书时间2024-07-11

徐小智的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
王广帅2011年进入游戏行业,一直致力于Java游戏服务器开发。2014年开始负责创业游戏公司的服务器架构设计工作,带领团队参与网页游戏、手机游戏、2D游戏、3D游戏、卡牌类游戏、多人在线(MMO)类游戏的服务器开发,积累了丰富的游戏服务器架构设计与开发经验。业余时间,经常在QQ群(66728073)、个人微信公众号(youxijishu)、技术博客分享游戏服务器开发的技术经验,并且独立维护一个专业的游戏开发网站——游戏技术网。

目录
第1章游戏服务器架构总体设计011.1 游戏服务器架构设计的意义 011.1.1 良好的架构设计有助于团队协作开发 011.1.2 良好的架构设计有助于避免bug的产生 021.1.3 良好的架构设计有助于制定合理的项目开发周期计划 021.1.4 良好的架构设计有利于测试 031.2 游戏服务器架构分类 031.2.1 单体游戏服务器架构 031.2.2 分布式游戏服务器架构 051.3 游戏服务器架构基本模块 061.3.1 网络通信长连接与短连接 061.3.2 网关 071.3.3 服务消息交互——消息中间件 081.3.4 业务处理框架 091.3.5 测试模块 111.4 本章总结11第 2章服务器项目管理——Maven 122.1 Eclipse中配置Maven工具 122.1.1 Maven下载与配置 122.1.2 Maven环境变量配置 132.1.3 Maven常用命令示例 152.2 搭建Maven仓库中心 162.2.1 安装Nexus 162.2.2 在Maven中配置私服 192.2.3 添加非开源依赖Jar包 212.3 创建Maven项目212.3.1 创建父项目 222.3.2 创建子项目 232.4 本章总结23第3章 数据库选择与安装243.1 数据持久化——MongoDB 243.1.1 为什么使用MongoDB 243.1.2 安装MongoDB 253.2 内存型数据库——Redis 283.2.1 为什么使用Redis 283.2.2 安装Redis 293.2.3 使用Redis缓存需要注意的事项 303.3 本章总结32第4章 游戏服务中心开发334.1 游戏服务中心的作用 334.1.1 游戏服务中心提供游戏外围服务 334.1.2 游戏服务中心方便动态扩展 344.2 游戏服务中心开发准备 344.2.1 根据需求设计架构 344.2.2 SpringCloud简介 364.2.3 安装SpringTool插件 374.2.4 添加公共pom依赖 384.3 用户登录注册功能开发 404.3.1 创建游戏服务中心项目 414.3.2 网络通信数据格式定义 434.3.3 添加数据库操作 454.3.4 实现登录注册 504.3.5 全局异常捕获处理 554.3.6 登录注册测试 564.3.7 实现角色创建 574.3.8 角色创建测试 594.4 本章总结60第5章 Web服务器网关开发 615.1 Consul服务注册中心 615.1.1 Consul简介 615.1.2 安装Consul 625.2 Web服务器网关功能开发 635.2.1 SpringCloudGateway简介 635.2.2 创建Web服务器网关项目 645.2.3 网关路由信息配置 665.2.4 测试Web服务器网关请求转发 685.3 统一验证请求权限 695.3.1 在Web服务器网关进行权限验证的必要性 695.3.2 网关全局过滤组件——GlobalFilter 715.3.3 GlobalFilter实现权限验证 725.3.4 测试网关权限验证 745.4 请求负载均衡 765.4.1 负载均衡组件——SpringCloudRibbon 765.4.2 自定义负载均衡策略 775.4.3 负载均衡策略配置 805.5 网关流量限制 815.5.1 常见的限流算法 815.5.2 添加Web服务器网关限流策略 835.5.3 Web服务限流测试 865.6 HTTPS请求配置 865.6.1 HTTPS简介 865.6.2 HTTPS证书申请 875.6.3 网关服务配置HTTPS证书 895.6.4 测试HTTPS访问 905.7 服务错误异常全局捕获 925.7.1 默认全局Web异常捕获 925.7.2 自定义全局Web异常捕获 935.7.3 异常捕获测试 955.8 本章总结96第6章 游戏服务器网关开发976.1 游戏服务器网关管理 976.1.1 游戏服务器网关必须支持动态伸缩 976.1.2 游戏服务器网关项目搭建与配置 996.1.3 游戏服务器网关信息缓存管理 1016.1.4 游戏服务器网关负载均衡策略 1056.1.5 测试游戏服务器网关信息 1076.2 客户端与游戏服务器网关通信开发 1096.2.1 客户端项目创建 1096.2.2 网络通信数据粘包与断包 1176.2.3 网络通信协议制定 1196.2.4 客户端消息编码与解码开发 1216.2.5 游戏服务器网关消息编码与解码开发 1246.2.6 使用Netty实现游戏服务器网关长连接服务 1276.3 请求消息参数与响应消息参数对象化 1306.3.1 请求与响应消息封装 1306.3.2 客户端与游戏服务器网关通信测试 1376.4 消息体对象序列化与反序列化 1396.4.1 消息体使用JSON序列化与反序列化 1406.4.2 消息体使用ProtocolBuffers序列化与反序列化 1426.5 消息自动分发处理 1466.5.1 消息自动分发设计 1476.5.2 消息自动分发开发 1486.6 网络通信安全 1526.6.1 连接认证 1526.6.2 通信协议加密和解密 1546.6.3 游戏服务器网关流量限制 1586.7 网络连接管理 1596.7.1 连接管理 1596.7.2 连接心跳检测 1636.7.3 消息幂等处理 1676.8 本章总结168第7章 游戏服务器网关与游戏业务服务数据通信1697.1 游戏服务器网关与游戏业务服务通信定义 1697.1.1 游戏服务器网关消息转发 1697.1.2 定义消息通信模型 1707.1.3 SpringCloudBus消息总线 1737.1.4 消息总线通信层——Kafka 1747.1.5 消息总线消息发布订阅测试 1787.2 游戏服务器网关与游戏业务服务通信实现 1787.2.1 消息序列化与反序列化实现 1797.2.2 游戏服务器网关消息负载均衡 1817.2.3 游戏服务器网关消息转发实现 1857.2.4 游戏服务器网关监听接收响应消息 1897.2.5 添加游戏业务服务项目 1907.2.6 游戏服务接收并响应网关消息 1937.3 游戏服务器网关与游戏服务通信测试 1957.4 本章总结197第8章 游戏业务处理框架开发1988.1 游戏服务器中的多线程管理 1988.1.1 线程数量的管理 1988.1.2 游戏服务线程池分配 2008.2 Netty线程池模型 2008.2.1 Netty线程模型的核心类 2018.2.2 获取线程池执行结果 2028.3 客户端消息处理管理 2058.3.1 借鉴Netty的消息处理机制 2058.3.2 客户端消息事件处理框架模型 2098.3.3 实现自定义MultithreadEventExecutorGroup 2138.3.4 实现GameChannel 2178.3.5 实现GameChannelPipeline 2208.3.6 实现AbstractGameChannelHandlerContext 2228.3.7 实现客户端消息处理与消息返回 2248.3.8 GameChannel空闲超时处理 2288.4 不同游戏用户之间的数据交互 2368.4.1 多线程并发操作数据导致的错误或异常 2378.4.2 在功能设计上避免用户数据之间的直接交互 2398.4.3 在架构设计上解决用户数据之间的直接交互 2398.4.4 GameChannel事件自动分发处理 2438.5 本章总结245第9章 游戏用户数据管理2469.1 游戏用户数据异步加载 2469.1.1 加载游戏数据的时机 2469.1.2 异步加载游戏数据实现 2479.2 游戏数据持久化到数据库 2509.2.1 游戏数据持久化方式 2509.2.2 异步方式持久化数据的并发问题 2519.2.3 数据定时异步持久化实现 2539.3 Player对象的封装与使用 2569.3.1 直接操作Player对象的弊端 2569.3.2 实现Player对象数据与行为分离 2589.4 本章总结260第 10章RPC通信设计与实现 26110.1 游戏模块服务划分 26110.1.1 游戏服务需不需要微服务化 26110.1.2 游戏服务模块进程划分规则 26310.2 RPC通信实现 26410.2.1 自定义RPC设计 26410.2.2 负载均衡管理 26810.2.3 创建竞技场服务项目 27410.2.4 RPC请求消息的发送与接收 28110.2.5 RPC响应消息的发送与接收 29010.2.6 RPC请求超时检测 29210.3 本章总结293第 11章事件系统的设计与实现29411.1 事件系统在服务器开发中的重要性 29411.1.1 什么是事件系统 29411.1.2 事件系统可以解耦模块依赖 29511.1.3 事件系统使代码更容易维护 29611.2 事件系统的实现 29611.2.1 自定义基于监听接口的事件系统 29711.2.2 自定义基于注解的事件系统 29911.2.3 Spring事件系统应用30411.3 根据事件实现的任务系统 30611.3.1 任务系统需求 30711.3.2 面向过程的任务系统实现 30811.3.3 面向对象的事件触发式任务系统实现 30911.4 本章总结 314第 12章游戏服务器自动化测试31512.1 游戏服务器自动化测试的重要性 31512.1.1 单元测试使代码更简洁 31512.1.2 单元测试保证方法的代码正确性 32112.1.3 自动化测试保证代码重构的安全性 32312.2 游戏服务器自动化测试的实现 32312.2.1 TestNG框架简介 32412.2.2 SpringBoot单元测试配置 32512.2.3 方法单元测试案例实现 32912.2.4 服务器集成测试实现 33612.2.5 使用TestNG配置文件区分不同的测试环境 34012.3 本章总结342第 13章服务器开发实例——世界聊天系统 34313.1 单服世界聊天系统实现 34313.1.1 添加客户端命令 34413.1.2 服务器实现消息转发 34813.1.3 单服世界聊天测试 34913.2 分布式世界聊天系统实现 35213.2.1 分布式世界聊天系统设计 35213.2.2 创建单独的聊天项目 35413.2.3 实现聊天消息的发布与转发 35613.2.4 分布式世界聊天服务测试 35913.3 本章总结360

内容摘要
为了帮助服务器开发人员更好地理解服务器框架的设计与开发,本书从零开始,详细阐述游戏服务器设计与开发的流程和技术点,包括网络通信、分布式架构设计、内部RPC通信、数据管理、多线程管理,并从实践的角度出发,配合详细的源码,帮助广大游戏服务器开发人员,或正在考虑从事游戏服务器开发的人员,更加系统地学习服务器架构的设计与开发。本书实用性强,既可以帮助想从事服务器开发的人员快速学习相关知识,又可以帮助服务器开发人员向架构师进阶。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP