网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Java游戏服务器架构实战
分类 人文社科-社会科学-语言文字
作者 王广帅 编
出版社 人民邮电出版社
下载
简介
作者简介
王广帅
2011年进入游戏行业,一直致力于Java游戏服务器开发。2014年开始负责创业游戏公司的服务器架构设计工作,带领团队参与网页游戏、手机游戏、2D游戏、3D游戏、卡牌类游戏、多人在线(MMO)类游戏的服务器开发,积累了丰富的游戏服务器架构设计与开发经验。业余时间,经常在QQ群(66728073)、个人微信公众号(youxijishu)、技术博客分享游戏服务器开发的技术经验,并且独立维护一个专业的游戏开发网站——游戏技术网。
目录
章游戏服务器架构总体设计01
1.1游戏服务器架构设计的意义01
1.1.1良好的架构设计有助于团队协作开发01
1.1.2良好的架构设计有助于避免bug的产生02
1.1.3良好的架构设计有助于制定合理的项目开发周期计划02
1.1.4良好的架构设计有利于测试03
1.2游戏服务器架构分类03
1.2.1单体游戏服务器架构03
1.2.2分布式游戏服务器架构05
1.3游戏服务器架构基本模块06
1.3.1网络通信长连接与短连接06
1.3.2网关07
1.3.3服务消息交互——消息中间件08
1.3.4业务处理框架09
1.3.5测试模块11
1.4本章总结11
第2章服务器项目管理——Maven12
2.1Eclipse中配置Maven工具12
2.1.1Maven下载与配置12
2.1.2Maven环境变量配置13
2.1.3Maven常用命令示例15
2.2搭建Maven仓库中心16
2.2.1安装Nexus16
2.2.2在Maven中配置私服19
2.2.3添加非开源依赖Jar包21
2.3创建Maven项目21
2.3.1创建父项目22
2.3.2创建子项目23
2.4本章总结23
第3章数据库选择与安装24
3.1数据持久化——MongoDB24
3.1.1为什么使用MongoDB24
3.1.2安装MongoDB25
3.2内存型数据库——Redis28
3.2.1为什么使用Redis28
3.2.2安装Redis29
3.2.3使用Redis缓存需要注意的事项30
3.3本章总结32
第4章游戏服务中心开发33
4.1游戏服务中心的作用33
4.1.1游戏服务中心提供游戏外围服务33
4.1.2游戏服务中心方便动态扩展34
4.2游戏服务中心开发准备34
4.2.1根据需求设计架构34
4.2.2SpringCloud简介36
4.2.3安装SpringTool插件37
4.2.4添加公共pom依赖38
4.3用户登录注册功能开发40
4.3.1创建游戏服务中心项目41
4.3.2网络通信数据格式定义43
4.3.3添加数据库操作45
4.3.4实现登录注册50
4.3.5全局异常捕获处理55
4.3.6登录注册测试56
4.3.7实现角色创建57
4.3.8角色创建测试59
4.4本章总结60
第5章Web服务器网关开发61
5.1Consul服务注册中心61
5.1.1Consul简介61
5.1.2安装Consul62
5.2Web服务器网关功能开发63
5.2.1SpringCloudGateway简介63
5.2.2创建Web服务器网关项目64
5.2.3网关路由信息配置66
5.2.4测试Web服务器网关请求转发68
5.3统一验证请求权限69
5.3.1在Web服务器网关进行权限验证的必要性69
5.3.2网关全局过滤组件——GlobalFilter71
5.3.3GlobalFilter实现权限验证72
5.3.4测试网关权限验证74
5.4请求负载均衡76
5.4.1负载均衡组件——SpringCloudRibbon76
5.4.2自定义负载均衡策略77
5.4.3负载均衡策略配置80
5.5网关流量限制81
5.5.1常见的限流算法81
5.5.2添加Web服务器网关限流策略83
5.5.3Web服务限流测试86
5.6HTTPS请求配置86
5.6.1HTTPS简介86
5.6.2HTTPS证书申请87
5.6.3网关服务配置HTTPS证书89
5.6.4测试HTTPS访问90
5.7服务错误异常全局捕获92
5.7.1默认全局Web异常捕获92
5.7.2自定义全局Web异常捕获93
5.7.3异常捕获测试95
5.8本章总结96
第6章游戏服务器网关开发97
6.1游戏服务器网关管理97
6.1.1游戏服务器网关必须支持动态伸缩97
6.1.2游戏服务器网关项目搭建与配置99
6.1.3游戏服务器网关信息缓存管理101
6.1.4游戏服务器网关负载均衡策略105
6.1.5测试游戏服务器网关信息107
6.2客户端与游戏服务器网关通信开发109
6.2.1客户端项目创建109
6.2.2网络通信数据粘包与断包117
6.2.3网络通信协议制定119
6.2.4客户端消息编码与解码开发121
6.2.5游戏服务器网关消息编码与解码开发124
6.2.6使用Netty实现游戏服务器网关长连接服务127
6.3请求消息参数与响应消息参数对象化130
6.3.1请求与响应消息封装130
6.3.2客户端与游戏服务器网关通信测试137
6.4消息体对象序列化与反序列化139
6.4.1消息体使用JSON序列化与反序列化140
6.4.2消息体使用ProtocolBuffers序列化与反序列化142
6.5消息自动分发处理146
6.5.1消息自动分发设计147
6.5.2消息自动分发开发148
6.6网络通信安全152
6.6.1连接认证152
6.6.2通信协议加密和解密154
6.6.3游戏服务器网关流量限制158
6.7网络连接管理159
6.7.1连接管理159
6.7.2连接心跳检测163
6.7.3消息幂等处理167
6.8本章总结168
第7章游戏服务器网关与游戏业务服务数据通信169
7.1游戏服务器网关与游戏业务服务通信定义169
7.1.1游戏服务器网关消息转发169
7.1.2定义消息通信模型170
7.1.3SpringCloudBus消息总线173
7.1.4消息总线通信层——Kafka174
7.1.5消息总线消息发布订阅测试178
7.2游戏服务器网关与游戏业务服务通信实现178
7.2.1消息序列化与反序列化实现179
7.2.2游戏服务器网关消息负载均衡181
7.2.3游戏服务器网关消息转发实现185
7.2.4游戏服务器网关监听接收响应消息189
7.2.5添加游戏业务服务项目190
7.2.6游戏服务接收并响应网关消息193
7.3游戏服务器网关与游戏服务通信测试195
7.4本章总结197
第8章游戏业务处理框架开发198
8.1游戏服务器中的多线程管理198
8.1.1线程数量的管理198
8.1.2游戏服务线程池分配200
8.2Netty线程池模型200
8.2.1Netty线程模型的核心类201
8.2.2获取线程池执行结果202
8.3客户端消息处理管理205
8.3.1借鉴Netty的消息处理机制205
8.3.2客户端消息事件处理框架模型209
8.3.3实现自定义MultithreadEventExecutorGroup213
8.3.4实现GameChannel217
8.3.5实现GameChannelPipeline220
8.3.6实现AbstractGameChannelHandlerContext222
8.3.7实现客户端消息处理与消息返回224
8.3.8GameChannel空闲超时处理228
8.4不同游戏用户之间的数据交互236
8.4.1多线程并发操作数据导致的错误或异常237
8.4.2在功能设计上避免用户数据之间的直接交互239
8.4.3在架构设计上解决用户数据之间的直接交互239
8.4.4GameChannel事件自动分发处理243
8.5本章总结245
第9章游戏用户数据管理246
9.1游戏用户数据异步加载246
9.1.1加载游戏数据的时机246
9.1.2异步加载游戏数据实现247
9.2游戏数据持久化到数据库250
9.2.1游戏数据持久化方式250
9.2.2异步方式持久化数据的并发问题251
9.2.3数据定时异步持久化实现253
9.3Player对象的封装与使用256
9.3.1直接操作Player对象的弊端256
9.3.2实现Player对象数据与行为分离258
9.4本章总结260
0章RPC通信设计与实现261
10.1游戏模块服务划分261
10.1.1游戏服务需不需要微服务化261
10.1.2游戏服务模块进程划分规则263
10.2RPC通信实现264
10.2.1自定义RPC设计264
10.2.2负载均衡管理268
10.2.3创建竞技场服务项目274
10.2.4RPC请求消息的发送与接收281
10.2.5RPC响应消息的发送与接收290
10.2.6RPC请求超时检测292
10.3本章总结293
1章事件系统的设计与实现294
11.1事件系统在服务器开发中的重要性294
11.1.1什么是事件系统294
11.1.2事件系统可以解耦模块依赖295
11.1.3事件系统使代码更容易维护296
11.2事件系统的实现296
11.2.1自定义基于监听接口的事件系统297
11.2.2自定义基于注解的事件系统299
11.2.3Spring事件系统应用304
11.3根据事件实现的任务系统306
11.3.1任务系统需求307
11.3.2面向过程的任务系统实现308
11.3.3面向对象的事件触发式任务系统实现309
11.4本章总结314
2章游戏服务器自动化测试315
12.1游戏服务器自动化测试的重要性315
12.1.1单元测试使代码更简洁315
12.1.2单元测试保证方法的代码正确性321
12.1.3自动化测试保证代码重构的安全性323
12.2游戏服务器自动化测试的实现323
12.2.1TestNG框架简介324
12.2.2SpringBoot单元测试配置325
12.2.3方法单元测试案例实现329
12.2.4服务器集成测试实现336
12.2.5使用TestNG配置文件区分不同的测试环境340
12.3本章总结342
3章服务器开发实例——世界聊天系统343
13.1单服世界聊天系统实现343
13.1.1添加客户端命令344
13.1.2服务器实现消息转发348
13.1.3单服世界聊天测试349
13.2分布式世界聊天系统实现352
13.2.1分布式世界聊天系统设计352
13.2.2创建单独的聊天项目354
13.2.3实现聊天消息的发布与转发356
13.2.4分布式世界聊天服务测试359
13.3本章总结360
内容推荐
为了帮助服务器开发人员更好地理解服务器框架的设计与开发,本书从零开始,详细阐述游戏服务器设计与开发的流程和技术点,包括网络通信、分布式架构设计、内部RPC通信、数据管理、多线程管理,并从实践的角度出发,配合详细的源码,帮助广大游戏服务器开发人员,或正在考虑从事游戏服务器开发的人员,更加系统地学习服务器架构的设计与开发。
本书实用性强,既可以帮助想从事服务器开发的人员快速学习相关知识,又可以帮助服务器开发人员向架构师进阶。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/22 11:44:43