本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | Java游戏服务器架构实战 |
作者: | 王广帅 |
定价: | 79.0 |
出版社: | 邮电出版社 |
出版日期: | |
ISBN: | 9787115540478 |
印次: | |
版次: | null |
装帧: | |
开本: | 16开 |
内容简介 | |
为了帮助服务器开发人员更好地理解服务器框架的设计与开发,本书从零开始,详细阐述游戏服务器设计与开发的流程和技术点,包括网络通信、分布式架构设计、内部RPC通信、数据管理、多线程管理,并从实践的角度出发,配合详细的源码,帮助广大游戏服务器开发人员,或正在考虑从事游戏服务器开发的人员,更加系统地学器架构的设计与开发。 |
目录 | |
第 1章 游戏服务器架构总体设计01 |
编辑推荐 | |
1.系统:项目从零搭建,帮助读者实现各个重要模能开发,系统阐述游戏服务器架构设计与开发; |
前言 | |
为什么要写这本书 随着互联网的发展和人们生活的提高,人们对文化娱乐的需求也越来越高,网络游戏已经成为人们娱乐生活中重要的一部分,而游戏服务器开发一直是网络游戏开发的核心。很多从事计算机编程的人都希望能快速融入游戏服务器开发的行业中。.Java是行的服务器编程语言,随着Spring的出现,已经形成了一个完善的Java开发生态系统。目前市场上大多数服务器开发的图书都是关于Web服务器开发的,而游戏服务器开发的图书相对较少,系统讲述使用.Java语言开发服务器的图书更少。 对于想要从事游戏服务器开发的人员来说,系统了解游戏服务器开发流程、架构设计是很有必要的。在一些游戏服务器开发的技术讨论群中,经常看到一些入游戏服务器行业的人员重复提出一些开发问题,也有一些从事游戏服务器开发几年的人,提出如何从业务开发人员转向游戏服务器架构师以及如何更好地设计分布式架构等问题。 因此,为了帮助更多的开发人员更好地从事游戏服务器开发,本书由浅入深,理论结合实践,系统阐述游戏服务器开发相关知识。 本书有何 1.项H附带完善的源码,提率 为了便于读者理解本书内容,提率,本书从零开始,循序地阐述游戏服务器开发流程,并在附赠资源里提供实践项目源码。 2.涌盖Java开发的各种热门技术 本书涵盖Maven、Spr’ing Boot、Spl。ing(;loud、Netty、1"estNG和Spring Shell等热门技术及Kafka消息中间件、Mong01)B数据库等核心内容。 3.注童实际应用和解决问题的方案 由于游戏服务器开发是一个综合技术的应用,本书以项目的实际应用为目标,着重讲解解决问题的思路和解决方案,这样可以让读者更快速地理解各个模块的内容。 4.项目完整。稍加修改即可使用 本书提供了完整的实践项目,开发人员根据自己的需求,稍加修改即可使用。 5.提供完善的技术支持和售后服务 本书提供了专门的技术支持邮箱(291123097@qq.com),以及交流群(398808948)。读者可通过这两种方式获取配套源码,在阅读本书过程中有任何疑问也可通过这两种方式获得帮助。 适合阅读本书的读者 ·想从事游戏服务器开发工作的Web开发人员。 ·想从事游戏服务器开发工作的JaVa开发人员。 ·目前从事游戏服务器开发的人员。 ·想成为游戏服务器架构师的游戏开发人员。 ·游戏服务器架构师。 阅读本书的建议 没有游戏服务器开发经验的读者,建议从第l章顺次阅读并演练每一个实例。 有一定服务器开发经验的读者,可以根据实际情况有地选择阅读各个模块和项目案例。 编者 |
摘要 | |
第1章 游戏服务器架构总体设计 在设计开发软件系统的时候,我们首先想到的就是系统架构设计。游戏服务器也是一个庞大的软件系统,需要花费适当的时行架构设计和开发,这样做的目的是实现系统的易维护性、稳定性、可扩展性及实用性。本章涉及的知识点如下。 ·了解游戏服务器架构设计的意义。 ·了解基本的游戏服务器的架构分类。 · 了解基本架构每个模块的能。 1.1游戏服务器架构设计的意义 架构即规则,架构的设计其实也是规则的设计。俗话说: “无规矩不成方圆”。游戏服务器架构设计就是为整个游戏服务器开发制定规则,让开发团队在这个规则下,快速、正确地完成任务。因此,我们需要知道架构设计的意义,明其理,方能行其事。 1.1.1 良好的架构设计有助于团队协作开发 众所周知,在一个游戏服务器开发团队中,不同成员的专业能力、思考能力、学、沟通能力各不相同。那么团队成员如何在短时间内提升能力,如何尽快融入项目开发呢?相互协作是最重要的一种方式。 游戏服务器架构设计的目的就是统一规则、划分模块、定义职责,使团队中的人能各司其职、有条不紊地完成工作,使团队协作更加紧密、协调。游戏服务器架构是团队协作的基础,譬如高楼之基。如果没有这个基础,人员再多,也是无处下手,无所适从。即使勉强堆砌,后期亦可能推倒重建,就像一个没有规划的城市一样,随意搭建的结果一定是混乱不堪。因此失败的案例数不胜数。其根本原因就是没有设计好前期架构,导致后面越开发代码越乱,整个项目变得臃肿,而在时间上又不允许重建架构。 一个良好的游戏服务器架构设计,应该有其明确的脉络,反映出一种设计思想。架构设计包含如网络如何通信,数据如何缓存、如何持久化到数据库,如何添加新的能而不影能,以及如何保证线程等问题。架构设计让整个系统有一个明确的层次、统一的风格、清晰的接口定义和调用规则,而没有重复的代码。架构设计的目的就是制定一些规则。让所有团队成员都遵守这些规则。在这个基础上团队成员就可以迅速地实现并行开发能,并能的正确性,减少返工现象,缩短项目开发周期。 1.1.2 良好的架构设计有助于避免bug的产生 架构设计也是经验的总结。一般来说,一的商业化游戏服务器项目,它的架构都是由从事游戏服务器开发多年、经验丰富的人设计开发的。通过经验的总结,把容易出错的公共部分使用架构来规避,并且通过严密的测试,最终实现消除隐患。 比如涉及网络通信的问题,有的开发人员在设计的时候,只考虑接收客户端的消息,并且实现正常返回消息即可,而没有考虑到多线程处理消息,导致数据不一致,出现一些莫名其妙的问题。是以Web服务作为服务器的时候,因为Web服务底层接收的消息会被放到一个固定大小的线程池中,所以每个HTTP请求在controllel’中处理的时候,都可能在不同的线程里面。如果出现并发请求,就有可能导致数据错误。 在架构设计中可以提交预知并解决这个问题。比如给同一个用户请求的消息加锁或者把请求消息分配到固定的消息队列中,由另外的线程按顺序取出消息并处理。这样在处理业务的时候,就不需要担心请求并发问题了,防止开发业务时考虑不周而产生bug。 1.1.3 良好的架构设计有助于制定合理的项目开发周期计划 在项目开发的过程中,时间是的。游戏产品开发是一个长期的过程,但是也有严格的周期限制。在整个开发过程能开发和测很大一部分时间,而架构设计是能快速开发的基础。 架构设计必须从项目的全局来考虑和衡量。架构设计的完成不是一蹴而就的,在项目开发过程中,由于新需求的出现,需要不断地修改或扩展架构,慢慢使其完善。良好的架构设计,需要预知项目能是公共的、是可以在架构中实现的,这样可以减少重复代码,提前为不同的业务开发提供服务…… |
作者简介 | |
王广帅 |