Java游戏服务器架构实战者_王广帅责_张天怡计算机与互联网pdf下载pdf下载

Java游戏服务器架构实战者_王广帅责_张天怡计算机与互联网百度网盘pdf下载

作者:
简介:本篇主要提供Java游戏服务器架构实战者_王广帅责_张天怡计算机与互联网pdf下载
出版社:香泉书海图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

  商品基本信息,请以下列介绍为准
商品名称:Java游戏服务器架构实战
作者:编者_王广帅|责编_张天怡
定价:79.0
出版社:邮电出版社
出版日期:2020-09-01
ISBN:9787115540478
印次:1
版次:1
装帧:
开本:16开

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

  目录
第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 安装Nexur/> 2.2.2 在Maven中配置私服
2.2.3 添加非开源依赖Ja
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 内存型数据库——Redir/> 3.2.1 为什么使用Redir/> 3.2.2 安装Redir/> 3.2.3 使用Redis缓存需要注意的事项
3.3 本章总结
第4章 游戏服务中心开发
4.1 游戏服务中心的作用
4.1.1 游戏服务游戏外围服务
4.1.2 游戏服务中心方便动态扩展
4.2 游戏服务中心开发准备
4.2.1 根据需求设计架构
4.2.2 SpringCloud简介
4.2.3 安装SpringToolr/> 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 SpringCloudGateway简介
5.2.2 创建Web服务器网关项目
5.2.3 网关路由信息配置
5.2.4 测试Web服务器网关请求转发
……
第6章 游戏服务器网关开发
第7章 游戏服务器网关与游戏业务服务数据通信
第8章 游戏业务处理框架开发
第9章 游戏用户数据管理
第10章 RPC通信设计与实现
第11章 事件系统的设计与实现
第12章 游戏服务器自动化测试
第13章 服务器开发实例——聊天系统

  编辑推荐

1.系统:项目从零搭建,帮助读者实现各个重要模能开发,系统阐述游戏服务器架构设计与开发;

2.全面:从设计到开发,全面解析架构的实现过程,涵盖Java开发的各种热门技术;

3.深入:按游戏服务器开发流程,详细讲解技术要点,让你快速成为架构师,实现职位提升;

4.提供实践项目源代码,提率;

5.提供完善的技术支持和售后服务。


  前言

  为什么要写这本书  随着互联网的发展和人们生活的提高,人们对文化娱乐的需求也越来越高,网络游戏已经成为人们娱乐生活中重要的一部分,而游戏服务器开发一直是网络游戏开发的核心。很多从事计算机编程的人都希望能快速融入游戏服务器开发的行业中。.Java是行的服务器编程语言,随着Spring的出现,已经形成了一个完善的Java开发生态系统。目前市场上大多数服务器开发的图书都是关于Web服务器开发的,而游戏服务器开发的图书相对较少,系统讲述使用.Java语言开发服务器的图书更少。

对于想要从事游戏服务器开发的人员来说,系统了解游戏服务器开发流程、架构设计是很有必要的。在一些游戏服务器开发的技术讨论群中,经常看到一些入游戏服务器行业的人员重复提出一些开发问题,也有一些从事游戏服务器开发几年的人,提出如何从业务开发人员转向游戏服务器架构师以及如何更好地设计分布式架构等问题。

因此,为了帮助更多的开发人员更好地从事游戏服务器开发,本书由浅入深,理论结合实践,系统阐述游戏服务器开发相关知识。 

本书有何 

pan style="font-family:宋体">.项H附带完善的源码,提率  为了便于读者理解本书内容,提率,本书从零开始,循序地阐述游戏服务器开发流程,并在附赠资源里提供实践项目源码。      2.涌盖Java开发的各种热门技术  本书涵盖MavenSpring BootSpling(loudNetty1"estNGSpring Shell等热门技术及Kafka消息中间件、Mong01)B数据库等核心内容。       3.注童实际应用和解决问题的方案  由于游戏服务器开发是一个综合技术的应用,本书以项目的实际应用为目标,着重讲解解决问题的思路和解决方案,这样可以让读者更快速地理解各个模块的内容。

4.项目完整。稍加修改即可使用

本书提供了完整的实践项目,开发人员根据自己的需求,稍加修改即可使用。

5.提供完善的技术支持和售后服务

本书提供了专门的技术支持邮箱(291123097@qqcom),以及交流群(398808948)。读者可通过这两种方式获取配套源码,在阅读本书过程中有任何疑问也可通过这两种方式获得帮助。 

适合阅读本书的读者 

·想从事游戏服务器开发工作的Web开发人员。 

·想从事游戏服务器开发工作的JaVa开发人员。 

·目前从事游戏服务器开发的人员。 

·想成为游戏服务器架构师的游戏开发人员。 

·游戏服务器架构师。 

阅读本书的建议 

没有游戏服务器开发经验的读者,建议从第l章顺次阅读并演练每一个实例。 

有一定服务器开发经验的读者,可以根据实际情况有地选择阅读各个模块和项目案例。

编者


  摘要

pan style="font-family:宋体">章  游戏服务器架构总体设计

在设计开发软件系统的时候,我们首先想到的就是系统架构设计。游戏服务器也是一个庞大的软件系统,需要花费适当的时行架构设计和开发,这样做的目的是实现系统的易维护性、稳定性、可扩展性及实用性。本章涉及的知识点如下。

·了解游戏服务器架构设计的意义。

·了解基本的游戏服务器的架构分类。

·  了解基本架构每个模块的能。

pan style="font-family:宋体">.pan style="font-family:宋体">游戏服务器架构设计的意义

架构即规则,架构的设计其实也是规则的设计。俗话说:  “无规矩不成方圆”。游戏服务器架构设计就是为整个游戏服务器开发制定规则,让开发团队在这个规则下,快速、正确地完成任务。因此,我们需要知道架构设计的意义,明其理,方能行其事。

pan style="font-family:宋体">.pan style="font-family:宋体">.1  良好的架构设计有助于团队协作开发

众所周知,在一个游戏服务器开发团队中,不同成员的专业能力、思考能力、学、沟通能力各不相同。那么团队成员如何在短时间内提升能力,如何尽快融入项目开发呢?相互协作是最重要的一种方式。

游戏服务器架构设计的目的就是统一规则、划分模块、定义职责,使团队中的人能各司其职、有条不紊地完成工作,使团队协作更加紧密、协调。游戏服务器架构是团队协作的基础,譬如高楼之基。如果没有这个基础,人员再多,也是无处下手,无所适从。即使勉强堆砌,后期亦可能推倒重建,就像一个没有规划的城市一样,随意搭建的结果一定是混乱不堪。因此失败的案例数不胜数。其根本原因就是没有设计好前期架构,导致后面越开发代码越乱,整个项目变得臃肿,而在时间上又不允许重建架构。

一个良好的游戏服务器架构设计,应该有其明确的脉络,反映出一种设计思想。架构设含如网络如何通信,数据如何缓存、如何持久化到数据库,如何添加新的能而不影能,以及如何保证线程等问题。架构设计让整个系统有一个明确的层次、统一的风格、清晰的接口定义和调用规则,而没有重复的代码。架构设计的目的就是制定一些规则。让所有团队成员都遵守这些规则。在这个基础上团队成员就可以迅速地实现并行开发能,并能的正确性,减少返工现象,缩短项目开发周期。

pan style="font-family:宋体">.pan style="font-family:宋体">.2  良好的架构设计有助于避免bug的产生

架构设计也是经验的总结。一般来说,一的商业化游戏服务器项目,它的架构都是由从事游戏服务器开发多年、经验丰富的人设计开发的。通过经验的总结,把容易出错的公共部分使用架构来规避,并且通过严密的测试,最终实现消除隐患。

比如涉及网络通信的问题,有的开发人员在设计的时候,只考虑接收客户端的消息,并且实现正常返回消息即可,而没有考虑到多线程处理消息,导致数据不一致,出现一些莫名其妙的问题。是以Web服务作为服务器的时候,因为Web服务底层接收的消息会被放到一个固定大小的线程池中,所以每个HTTP请求在controllel’中处理的时候,都可能在不同的线程里面。如果出现并发请求,就有可能导致数据错误。

在架构设计中可以提交预知并解决这个问题。比如给同一个用户请求的消息加锁或者把请求消息分配到固定的消息队列中,由另外的线程按顺序取出消息并处理。这样在处理业务的时候,就不需要担心请求并发问题了,防止开发业务时考虑不周而产生bug

pan style="font-family:宋体">.pan style="font-family:宋体">.3  良好的架构设计有助于制定合理的项目开发周期计划

在项目开发的过程中,时间是的。游戏产品开发是一个长期的过程,但是也有严格的周期限制。在整个开发过程能开发和测很大一部分时间,而架构设计是能快速开发的基础。

架构设计必须从项目的全局来考虑和衡量。架构设计的完成不是一蹴而就的,在项目开发过程中,由于新需求的出现,需要不断地修改或扩展架构,慢慢使其完善。良好的架构设计,需要预知项目能是公共的、是可以在架构中实现的,这样可以减少重复代码,提前为不同的业务开发提供服务……

  作者简介

王广帅

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