Netty游戏服务器开发-实战之路
好一个大布丁
手游服务器研发工程师。有参与射击类型手游《雷霆战机》。MMO《末日危机》,SLG+ARPG《末日生存》开发经验。现在主要研究全球游戏服务器SLG类型游戏开发。研究分布式和微服务在游戏服务器中的应用。
展开
-
Netty游戏服务器实战开发(2):ByteBuf - 字节数据的容器
目錄Introduction 开始 Netty-异步和数据驱动 Netty 介绍构成部分关于本书 第一个 Netty 应用设置开发环境 Netty 客户端/服务端 总览写一个 echo 服务器 写一个 echo 客户端 编译和运行 Echo 服务器和客户端总结 Netty 总览 Netty 快速入门 Channel, Event 和 I/O 什么是 Bootstrappi...转载 2018-05-10 17:50:00 · 2174 阅读 · 0 评论 -
Netty游戏服务器实战开发(13):游戏中的配表规则
在一个游戏开发过程中,少不了和策划,客户端等同学打交道。应为一个完整的游戏开发团队,有如下人员组成:1:服务器开发人员2:客户端开发人员3::策划4::美术5:其他其中还会分很多细节,比如策划可以分为场景策划,数值策划,玩法策划等等,但是作为一个策划人员不仅能够有好的游戏思想,最重要的是学会游戏中的配表。这是一个策划的基本功。规则很重要,游戏中的配表规则其实大部分主要是用来配合程序完...原创 2019-03-03 23:06:13 · 2035 阅读 · 0 评论 -
Netty游戏服务器实战开发(12):线程任务组件开发
Netty游戏服务器实战开发(11):原创 2018-12-15 11:51:48 · 1399 阅读 · 0 评论 -
Netty游戏服务器实战开发(11):Spring+mybatis 手写分库分表策略(续)
在大型网络游戏中,传统的游戏服务器无法满足性能上的需求。所以有了分布式和微服务新起,在传统web服务器中,我们保存用户等信息基本都是利用一张单表搞定,但是在游戏服务器中,由于要求比较高,我们不能存在大表操作,即分库分表策略。在以前的文章中有关介绍分库分表的,下面我们来实战一下,首先我们做一个这样的计算。在博主开源的游戏服务器中有这样一个场景:玩家数据保存到player表中,其中将游戏数据库分为1...原创 2018-10-23 20:56:58 · 1419 阅读 · 1 评论 -
Netty游戏服务器实战开发(10):Netty结合kafka实现分布式消息队列
在分布式游戏服务器系统中,消息处理队列主要解决问题就是解耦系统中的业务,使得每个系统看起来功能比较单一,而且解决一些全服数据共享等问题。通常我们知道kafka是作为消息队列比较火的一种方式,其实还有(Active MQ,Rabbit MQ,Zero MQ)个人觉得kafka比较好用点,哈哈,习惯吧。同样我们来复习kafka基础。kafka基础。的内容来介绍kafka的基本安装。首先我们要...原创 2018-10-19 18:00:13 · 8901 阅读 · 10 评论 -
Netty游戏服务器实战开发(6):Netty整合Zookeeper实现分布式服务发现与注册
1:Zookeeper基础安装zookeeper。当然,很多时候我们会在Windows上开发,所以,我们需要在本地搭建一个zookeeper环境。方便开发过程中的测试。首先我们去Apache上下载zookeeper。https://zookeeper.apache.org/下载下来后解压得到如下文件打开conf里面的zoo_simple.cfg ,拷贝一份,重新命名为zoo.cfg修改如...原创 2018-09-19 11:52:34 · 5664 阅读 · 6 评论 -
Netty游戏服务器实战开发(5):利用Netty打造轻量级RPC组件
简介:什么是RPC?RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。Net...原创 2018-09-18 12:34:43 · 3105 阅读 · 3 评论 -
Netty游戏服务器实战开发(4):自定义消息池化处理
通过上篇《Netty实战开发(3):自定义消息》我们都知道,客户端发送过来的消息我们服务器通过自定义编解码实现解析每条消息,并且做对应的处理,但是上篇介绍的重点是消息的编解码,接下来我们介绍消息的处理,并且利用线程池化技术实现消息队列处理。首先我们来复习一下线程池模型。...原创 2018-08-26 15:39:06 · 1449 阅读 · 1 评论 -
Netty游戏服务器实战开发(3):自定义私有协议栈
自定义私有协议栈开发,其实就是自己封装一套符合自定义数据包结构的编码器和解码器,从而满足我们的业务需求。通常我们数据包拆分,一部分为包头,一部分为包体,一个数据包就有两部分构成。如图所示对于数据包,我们进行细化,每个部分都有很多基本元素组成,利用这些基本元素,我们能够实现通过解析数据包和封装数据包,能轻松的实现 自定义协议栈的开发。在包头中我们用一个short类型来表示魔...原创 2018-07-31 14:50:40 · 1350 阅读 · 3 评论 -
Netty游戏服务器实战开发(1):Netty 的自带解码器
LineBasedFrameDecoder LineBasedFrameDecoder是回车换行解码器,如果用户发送的消息以回车换行符作为消息结束的标识,则可以直接使用Netty的LineBasedFrameDecoder对消息进行解码,只需要在初始化Netty服务端或者客户端时将LineBasedFrameDecoder正确的添加到ChannelPipeline中即可,不需要自己重新实现一套换...转载 2018-05-16 15:36:22 · 3194 阅读 · 0 评论 -
Netty游戏服务器开发实战(14):游戏推送的设计
导读- 本篇主要介绍如何实现游戏服务器推送消息到客户端或者服务器和服务器之间进行消息推送,结合Netty组件,设计一个具有推送功能的高性能游戏服务器框架。什么是推送?为何需要推送?首先,我们要明白什么是推送?推送,就是把服务器消息或者某个客户端的消息发送给另外一个客户端或者是服务器,一般对于客户端来说是一个被动接受消息的过程。在游戏服务器中,游戏活动的开始...原创 2019-05-25 10:43:18 · 2262 阅读 · 0 评论