blog编写环境搭建 前言偶然可能换电脑了,需要重新搭建起编写blog的环境。 步骤 安装git,拉取blog工程。 设置git环境。 123git config --global user.name "你的GitHub用户名"git config --global user.email "你的GitHub注册邮箱"ssh-keygen -t rsa -C " 2023-09-03 notebook #notebook
关于增加skynet_fly lua服务启动的后置加载 前言skynet lua服务默认启动加载是使用skynet/lualib/loader.lua,loader.lua 会加载并执行config中配置的preload路径的lua文件,这个操作的好处是可以把所有服务的一些前置环境操作,或者一些常用工具函数写到全局变量中(我更倾向于封装成工具模块通过require引用,不去污染全局环境,尽量保持原生环境)。在skynet_fly框架中,我就利用prel 2023-08-20 skynet_fly实现思路历程 #skynet_fly实现思路历程
linux系统常用命令记录 gdb调试打开core文件gdb filename core 查看错误堆栈bt centos gcc版本升级sudo yum install centos-release-sclsudo yum install devtoolset-9-gcc*scl enable devtoolset-9 bash 如何使用systemd运行程序cd /etc/systemd/systemvim myapp.s 2023-08-12 notebook #notebook
linux不产生core原因 首先可能ulimit限制了。ulimit -a 如果core 限制大小为0,需要修改。调用命令ulimit -c unlimited 考虑产生位置问题查看 /proc/sys/kernel/core_pattern文件内容。如果文件内容不是core,通知命令sudo bash -c "echo core > /proc/sys/kernel/core_pattern" 2023-07-28 record #record
关于cluster 远程rpc调用 简介cluster 远程rpc是依赖skynet的cluster模式实现的。 skynet_fly远程rpc调用的实现注重什么: * 与热更模板系统完美融合。 * 简单易用的API设计。 * 支持多结点。 * 支持服务发现。 定位因为远程rpc调用结点偶尔下线,上线都是常有的事,所以不建议用来做强生效性消息(就是调用了,一定要执行成功)。skynet_fly clus 2023-07-28 skynet_fly实现思路历程 #skynet_fly实现思路历程
关于room_game可热更分配房间类游戏架构 简介room_game是skynet_fly基于热更系统实现的分配房间类游戏架构。 room_game注重什么: * 框架与业务解耦。 * 可热更。 * 协议使用自由,目前提供protobuf和json协议。 * socket和websocket通用。 架构介绍room_game架构由多个skynet服务组成,由gate网关,login登录服,hall大厅服,allo 2023-07-22 skynet_fly实现思路历程 #skynet_fly实现思路历程
关于redis的封装 为什么要封装redis? 适用skynet_fly生态。 redis连接配置可以写在mod_config中。 对于实现方式的思考 方式一 用skynet_fly 热更模块的方式,这样连接配置就可以写在mod_config,还可以配置连接多个不同的redis。 优势: 1. 配置redis连接方便。 2. 固定redis连接数量。 劣势 1. 多了一次消息的打包解包。 2. redi 2023-07-08 skynet_fly实现思路历程 #skynet_fly实现思路历程
关于定时器的封装 为什么要封装定时器? skynet只提供定时器注册回调,缺少传参,注销,延伸等等常用方法。 实现思路一开始尝试用分配定时器id的方式实现,这种方式要考虑id重用的情况,虽然说int64走一个轮回要很久,但是这种情况还是要处理,走了一个轮回后,就有可能前面的id还被占用着,后续的id分配效率会降低。这种实现方式不是很稳定可靠。后续想了一下还是用面向对象的思想,因为前一种方式无非是timer模块用一 2023-07-02 skynet_fly实现思路历程 #skynet_fly实现思路历程
如何在skynet_fly_demo新增一个后台模块? 前言skynet_fly_demo 中的admin用的go语言gin框架的中间件模式。客户端用的vue-admin-template,项目架构是前后端分离的。我们将以添加一个警告日志模块为示例。 服务端服务端只需要通过API接口即可,通常API接口我们会按模块划分,比如用户模块就是提供/user/login,user/loginout,这在gin分格的中间件模式中,我们可以把user建一个组(gr 2023-06-30 skynet_fly 文档 > 实战篇 #skynet_fly_word
关于skynet_fly热更新实现 实现思路可以先看看这篇关于skynet做服务热更新这篇可以说是最初的实现版本,最新的完整实现 这里我主要阐述各方案比较之后觉得较好的方案三实现,我在skynet_fly也决定使用方案三,接下来进入正题。 主要思想围绕新服务替换旧服务的方案,通过讲述如何热更、rpc调用、服务切换、旧服务退出这4个点展开。可以结合代码看文档,这样应该会更清晰,表达能力有限♥(ˆ◡ˆԅ) 如何热更通过设置关闭skyn 2023-06-30 skynet_fly实现思路历程 #skynet_fly实现思路历程