关于skynet_fly 决定web路由工具使用的测试 测试对象 lua-rax lua-radix-router 测试结果lua-radix-router TEST CASE Router number nanoseconds / op QPS RSS static-paths 100000 0.352315 ns 2838369 74.60 MB simple-variable 100000 1.403398 ns 712 2024-01-14 skynet_fly实现思路历程 #skynet_fly实现思路历程
可热更模块的启动配置项 共享配置share_config_m mongo mongo 连接配置 mysql mysql 连接配置 redis redis 连接配置 frpc_server frpc_server 连接配置 server_cfg 服务环境配置 svr_id 集群服务唯一ID(同类服务唯一) 默认1 thread 使用线程数 默认 8 logpath 日志存放路径 默认 ./logs/ l 2024-01-14 skynet_fly_api #skynet_fly_api
远程rpc调用 关联文件 frpc_client.lua 最常用API M:new(svr_name,module_name,instance_name) 创建调用对象。 参数: * svr_name(string) 访问节点名称。 * module_name(string) 模块名称,需要send或者call通信的模块名称(相当于一级索引)。 * instance_name(string) 实例名称 2024-01-07 skynet_fly_api #skynet_fly_api
内部rpc调用 关联文件 contriner_client.lua 最常用API M:register(…) 注册访问。(没有注册访问的,去创建对象访问都会报错),这个服务start之后就不能再调用。 参数:module_name列表。 M:new(module_name,instance_name,can_switch_func) 创建调用对象。 参数: * module_name(string) 2024-01-07 skynet_fly_api #skynet_fly_api
关于增加skynet_fly orm_table_m 可热更服务 前言因为orm在多个服务持有的时候,没法保证一致性,所有需要把orm封装到独立服务中,其他服务通过rpc调用,为了使用便利性,封装了通用的orm可热更服务orm_table_m.lua和rpc调用模块orm_table_client.lua。 orm_table_m.lua转入的config需要提供一个配置项orm_plug,它是lua模块文件。需要提供init,call两个方法。 init() 2023-12-24 skynet_fly实现思路历程 #skynet_fly实现思路历程
关于增加skynet_fly orm数据关系映射 ORM简介ORM(Object-Relational Mapping,对象关系映射)是一种编程技术,用于在不同类型的系统之间转换数据。在关系数据库和面向对象编程语言之间,ORM 为数据的转换提供了一个桥梁。这种技术允许我们使用编程语言中的对象表示和操作数据库中的数据,而不必编写底层的SQL代码。 ORM 的核心优势在于抽象化和自动化数据存储的细节,使开发者可以专注于业务逻辑,而无需关心数据库操作的 2023-12-24 skynet_fly实现思路历程 #skynet_fly实现思路历程
新增可热更服务 规范统一写在module的文件夹,好处就是review代码时能比较清晰的分清那个文件是可热更服务,还是lua模块文件,还是skynet的普通服务(skynet普通服务建议都放在sevice文件夹下)。 示例1234567891011121314151617181920212223242526272829local CMD = {}function CMD.start(confi 2023-12-17 skynet_fly_api #skynet_fly_api
启动配置load_mods.lua 作用定位可热更服务的启动配置文件,用于配置可插拔的可热更服务,可以自定义启动顺序,数量,配置参数,推迟最后启动。 示例参考AB_question 1234567891011121314return { A_m = { launch_seq = 1, launch_num = 1, }, B_m = { launch_seq = 2, 2023-12-17 skynet_fly_api #skynet_fly_api
关于skynet_fly gate,ws_gate消息包设计 前言最近skynet_fly被群友用来写项目,并且上线了,感觉还是很欣慰的,群友用了我的房间类游戏架构,大概三周的时间,游戏就直接上线了,过程中咨询过我一些问题,其中关于协议这一块,解释的比较久,并且最后是我把我写好的中国象棋客户端上传了github,让他给客户端参考,才较快解决了前后端协议对接。所以想写这一篇来拆解一下协议封装。 协议图 skynet gate协议包skynet协议包就是上图红色 2023-12-10 skynet_fly实现思路历程 #skynet_fly实现思路历程
关于skynet_fly热更模块启动配置的调整 前言经过几个月的打磨使用,发现之前想的生成mod_config.lua热更模块配置文件用于启动的方式并不是很好。 缺点 1. 很少需要修改里面的值,当修改掉load_mods.lua,需要重新生成mod_config.lua。 2. 数组的配置重新生成也不好覆盖。 3. 有些配置想一直用load_mods.lua中的,却要手动同步改一遍mod_config.lua。 一开始 2023-12-10 skynet_fly实现思路历程 #skynet_fly实现思路历程