进程内的订阅同步-可热更服务的接口 contriner_watch_interface function M:new(mod_name, instance_name)描述 可热更模块接口参数 mod_name string 可热更服务模块名 instance_name string 可热更服务模块实例名 返回值 table obj 2024-06-29 skynet_fly API 文档 > 订阅发布,订阅同步 #skynet_fly_api
进程内的订阅同步-可热更服务的接口 service_watch_interface function M:new(name_or_handle)描述 普通skynet服务接口参数 name_or_handle string|number 别名或者handle_id 返回值 table obj 2024-06-29 skynet_fly API 文档 > 订阅发布,订阅同步 #skynet_fly_api
为skynet_fly新增远程调用方式 前言目前skynet_fly的远程调用方式,是采用了封装skynet的cluster 集群方式,每个连接都会有一个服务端有一个clusteragent 接收代理,客户端有一个sender 发送代理服务。再加上我封装的cluster_server和cluster_client,这样发送端和接收端就分别存在了2个代理服务。也就是说调用一个rpc请求会经过非常多次的打包解包流程。 发送者->clu 2024-05-03 一些想法 #一些想法
详解skynet 频发的重入问题 例子说明我们假设有2个服务,1个用户。银行服务 提供转账。风控服务 对用户进行风控,提供阻止转账取款功能。用户一 用手机转账。 bank_service.lua 1234567891011121314151617181920local account_amonut_map = {} --账户余额local CMD = {}--转账function CMD 2024-03-24 skynet #skynet_frame
关于skynet_fly_demo的架构设计 架构图 简介skynet_fly_demo是基于skynet_fly框架,开发对战类游戏架构,适用于moba、棋牌类游戏架构。 各服务职责center server 中心服 记录用户账户信息,比如账号,密码,手机号,注册渠道,设备号,平台等等信息。 记录用户创角信息,比如玩家ID,归属大厅服ID等等。 可以记录一些全局唯一的信息,比如登录的公告信息等等。 验证登录服登录。 login serve 2024-02-17 一些想法 #一些想法
关于监听同步模块的封装 为啥需要封装一个监听同步模块?使用skynet开发功能,由于是actor模型,难免会遇到一个服务需要依赖另一个服务的数据的情况,解决这个问题常见的方案有: 封装一个c模块,用于共享数据 优点: API使用简单,get set 即可。 节省内存。 缺点: 编码难度大,风险高,需要处理好多线程编码问题。 需要加读写锁,读取性能不一定高。 lua调用c,没有直接访问lua快。 要用的时候去 2024-01-28 skynet_fly实现思路历程 #skynet_fly实现思路历程
orm ormentry.lua单条数据条目对象。 常用方法 M:get(filed_name) 函数作用域:M:new 对象的成员函数 函数名称:get 描述: 获得对象指定字段的值 参数: - filed_name (string): 字段名 返回值: value(number or string): 值 M:set(filed_name, filed_value) 函数作用域: 2024-01-28 skynet_fly_api #skynet_fly_api
watch_syn.lua 监听同步机制 watch_syn.luasever M.new_server(CMD) 函数作用域:M 对象的成员函数 描述: 创建一个发布者对象,需要在代码load中创建好。 参数: - CMD (table): 模块的CMDtable 返回值: server_obj(table): 发布者对象 为什么需要传递CMD,因为发布者需要创建watch和unwatch两个接口,还有如果是热更服务还 2024-01-28 skynet_fly_api #skynet_fly_api
定时器的使用 timer.lua对skynet的定时器做了基础封装,提供了注销,延时,循环次数,获得下次触发的剩余时间等等功能。 注册 new(expire,times,callback,…) 函数作用域:M 对象的成员函数 函数名称:new 描述: 创建一个定时器对象 参数: - expire (number): 过期时间 100等于1秒 - times (number): 次数,0表示循环触发 2024-01-21 skynet_fly_api #skynet_fly_api
关于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实现思路历程