load_mods配置文件的使用 前言load_mods配置文件是skynet_fly非常核心的东西。通常一个服务为了区分不同环境,都会有一个服务配置项。传统的服务端配置可能就是key-value形式的配置项,因为大部分传统服务端都是把配置做成全局单例,方便读取。 skynet 有个启动配置,为啥还要新增一个? 因为skynet_env都是key-value形式的,而且是配置在全局变量中,不方便做配置遍历。 skynet_env读 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
如何编写可热更服务模块 前言使用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
规范建议 启动配置文件load_mods_xxx.lua 可热更模块都存放在 module命名的文件夹下,以xxx_m.lua命名。编写规范以CMD命令。 123local CMD = {}return CMD 普通skynet服务都存放在 service命名的文件夹下,命令随意,因为service的查找规则,只会在service文件夹下查找,文件名重复有可能,但是手动查找范围小。 普 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
文件查找规则 serviceluaservice 约束服务只能放在 启动根目录(./) || 启动根目录(./)->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
rpc调用 常规的RPC调用使用skynet.call,skyent.send。 rpc调用可热更服务模块12local ret = contriner_client:instance("B_m"):mod_call("hello")log.info("send_msg_to_b:",ret) 这里的意思是给B_m 可热更模块发送hello消息命令。 2023-02-25 skynet_fly 文档 > 基础篇 #skynet_fly_word
集群远程rpc调用 前言集群远程RPC调用,是借鉴skynet cluster mode 自己实现的(https://github.com/cloudwu/skynet/wiki/Cluster)封装了一套简单好用、适用用框架的模式。 配置启动服务端 配置load_mods.lua load_mods.lua 12345678910111213141516--共享配置share_config_m = { 2023-02-25 skynet_fly 文档 > 基础篇 #skynet_fly_word