前言 项目简介skynet_fly的理念是基于skynet开发开箱即用的微服务框架,旨在大家使用该框架,不会想着需要修改底层源码,而是基于该框架对服务端做一个快速搭建。skynet_fly持续迭代的原则,尽量向下兼容,不会因向下兼容性而束手束脚,后续考虑使用版本更新日志记录大版本的改动信息。 框架优势skynet_fly是基于skynet扩展的可以快速开发web,游戏,和需要rpc调用的框架。使用sky 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
开发环境推荐 vscode + Oracle VM VirtualBoxvscode加虚拟机的方式,是我常用的开发方式。 安装虚拟机 安装VirtualBox,官网下载安装即可 下载centos或者ubantu镜像 centos ubuntu 使用VirtualBox安装虚拟机这里自行百度。 vscode安装插件luaHelpersftp 配置SFTP 创建配置ctrl shift p 编辑配置 1 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
编译 推荐使用git,使用git clone的方式拉取下来,因为使用下载的方式,还需要去手动下载对应的submodule,skynet的代码。 拉取代码git clone https://github.com/huahua132/skynet_fly.git 拉取子模块代码cd skynet_flygit submodule update --init 拉取skynet代码代码子模块cd skynetg 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
构建服务脚手架 为啥需要脚手架?如果你对缘由感兴趣,可以看看这个 作用 生成skynet 启动配置文件 生成服务基础运维脚本 构建命令skynet_fly/binshell/make_server.sh skynet_fly_path 我们已构建skynet_fly/examples/webapp为例子 进入服务文件夹目录下。cd skynet_fly/examples/webapp 构建运维脚本。bash 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
load_mods配置文件的使用 前言load_mods配置文件是skynet_fly非常核心的东西。通常一个服务为了区分不同环境,都会有一个服务配置项。传统的服务端配置可能就是key-value形式的配置项,因为大部分传统服务端都是把配置做成全局单例,方便读取。 skynet 有个启动配置,为啥还要新增一个? 因为skynet_env都是key-value形式的,而且是配置在全局变量中,不方便做配置遍历。 skynet_env读 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
如何编写可热更服务模块 前言使用skynet开发服务,通常不会把所有任务写在一个服务中,一般会拆分成一个个服务单元,服务单元通过rpc调用协同工作。 简介可热更服务模块 本质上就是一个skynet的lua服务,是用skynet.newservice API 创建的。只是会加载指定的 xxx_m.lua文件,相当于用相同的盒子包装不同的东西。 示例12345678910111213141516171819202122232 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
项目文件夹介绍 3rd存放第三方依赖 binshell服务构建工具 examples示例学习服务 lualibskynet_fly lua库文件代码 moduleskynet_fly 提供的可热更服务模块 scriptlua shell 脚本工具代码 serviceskynet普通服务 skynetskynet代码 test单元测试服务代码,主要用来编写一些模块的单元测试。 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
文件查找规则 serviceluaservice 约束服务只能放在 server根目录 || server->service || common->service || skynet_fly->service || skynet->service cpathfile_util.path_join(skynet_fly_path, '/cservice/?.so;') .. 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
如何更改skynet服务的配置项 配置load_mods.lua 在配置文件中,我们可以启动一个share_config_m共享配置的模块,我们可以把这些配置放在 server_cfg中。 12345678910111213141516return { share_config_m = { launch_seq = 1, launch_num = 1, default_arg = { ser 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
前言 前言通过入门篇,我们学会了框架的基本使用规则。但是我们还不知道如何RPC调用,如何远程RPC调用,热更原理机制是什么。学会这些,可以说是使用该框架的高手的。 2023-02-25 skynet_fly 文档 > 基础篇 #skynet_fly_word