前言
项目简介
skynet_fly的理念是基于skynet开发开箱即用的微服务框架,旨在大家使用该框架,不会想着需要修改底层源码,而是基于该框架对服务端做一个快速搭建。
skynet_fly持续迭代的原则,尽量向下兼容,不会因向下兼容性而束手束脚,后续考虑使用版本更新日志记录大版本的改动信息。
框架优势
skynet_fly是基于skynet扩展的可以快速开发web,游戏,和需要rpc调用的框架。
使用skynet_fly的好处:
- 支持不停服更新。
- 一键生成skynet的配置文件和skynet_fly的配置文件以及配套shell脚本。
- 对匹配房间类游戏做了gate,ws_gate的基础设施封装以及pb,json协议的支持,开发游戏只需要实现相关业务逻辑。
- 对redis,mysql,timer,log 使用封装。
- 基于skynet cluster封装出简单易用的远程rpc调用。
- 支持服务发现。
- 支持http服务长连接。
- 支持http服务路由,中间件模式。
- 支持jwt鉴权。
- 内置日志分割。
- 支持快进时间。
- 支持orm(数据关系映射)目前适配了(mysql,mongo),数据库可无缝切换。
适合哪些人群
- 喜欢lua语言,想用lua开发游戏、网站、后台、API服务等等。
如果你对skynet没有一点点了解,可能使用该框架会有点困难,建议先大概了解学习skynet框架
- 对skynet有一定了解,却迷茫于如何架构服务。
对skynet有一定了解,那么上手该框架将会轻松很多。
为什么要开发一个skynet_fly框架?
- skynet框架不是开箱即用的,使用skynet开发游戏基本上或多或少都需要对框架做一些修改。
在开源框架当中,大部分好用的框架都是开箱即用的,对新手非常友好。使用skynet如果没有人带路的话,还是挺困难的,想要用的好,得看明白底层代码,然后还需要一些架构能力。
而使用skynet_fly,提供了很多基础设施的支持,架构服务只需要关注实现业务代码,能够更快速的开发迭代。
- 使用lua开发网站的框架较少,我想skynet_fly可以做到。
涵曦开发的wlua可以说是实现了lua版本 gin框架。
我把wlua的核心代码嵌入了skynet_fly中,再利用skynet_fly的热更模块机制,可以做到网站服务热更。
框架提供了这么多功能是不是很复杂,很难用?
可以说的核心只是基于skynet开发一套方便构建服务的脚手架,像web服务,集群RPC,还有一些封装,日志分割等等都是附加功能。
可以认为学会使用脚手架的学习使用skynet_fly的必要知识。
其他都是附加知识,只需要用的时候来取就行,不需要一股作气全部学完。
文档的食用流程
基础篇
介绍skynet_fly如何安装编译skynet_fly、开发流程推荐、如何构建skynet_fly服务、开发规范等等,学习完基础篇,可以说就是入门了。新手流程已经走完了,后续都是刷怪捡装备提升实力了,简直轻轻松松。进阶篇
学习核心功能模块,主要是RPC,远程RPC调用。强化篇
附加功能模块的使用文档,放心食用。