当前位置: 首页 > news >正文

Skynet入门(二)

服务器设计

服务

  • agent:负责玩家的数据加载、数据存储、单服逻辑的处理。为了性能考虑,agent必须跟客户端*连接的gateway处于同一个节点。
  • agentmngr:管理agent的服务,它记录每个agent所在的节点,避免不同客户端登录同个账号
  • gateway:网关,用于处理客户端连接。
    • 好处:
      • 隔离客户端和服务端,如果客户端协议调整,那么只需要更改gateway即可。
      • 预留了断线重连功能,即使客户端断线,只影响gateway。
    • 坏处:
    • 由于多加了一层转发协议,必定带来一定的延迟。将gateway、login、agent置于同一节点,有助于减少延迟。

目录结构设计

  • etc:存放服务配置文件
  • luaclib:存放一些C模块(.so文件)
  • service:存放业务服务的Lua代码
  • skynet:skynet框架
  • start.sh:启动服务器的脚本

如何将service的代码注册到skynet中,使其可以被skynet寻找到

在配置文件的luaservice配置项中增加service的路径

--必须配置
thread = 8                          --启用多少个工作线程
cpath = "./skynet/cservice/?.so"    --用C编写的服务模块的位置
bootstrap = "snlua bootstrap"       --启动的第一个服务

--bootstrap配置项
start = "main"                      --主程序入口
harbor = 0                          --使用cluster集群模式,不使用主从节点模式

--lua配置项
lualoader = "./skynet/lualib/loader.lua"
luaservice = "./service/?.lua;" .."./service/?/init.lua;".. "./skynet/service/?.lua;"
lua_path = "./etc/?.lua;" .. "./lualib/?.lua;" ..  "./skynet/lualib/?.lua;" .. "./skynet/lualib/?/init.lua"
lua_cpath = "./luaclib/?.so;" .. "./skynet/luaclib/?.so"

--后台模式
--daemon = "./skynet.pid"
--logger = "./userlog"

--节点
node = "node1"

相关文章:

  • ABC-CNN-GRU-Attention、CNN-GRU-Attention、ABC-CNN-GRU和CNN-GRU四类对比模型多变量时序预测
  • 用纯Qt实现GB28181协议/实时视频/云台控制/预置位/录像回放和下载/事件订阅/语音对讲
  • 【LeetCode Solutions】LeetCode 160 ~ 165 题解
  • java基础 this和super的介绍
  • 教育舆情知识图谱构建与危机干预策略研究
  • C语言超详细指针知识(二)
  • Python爬虫-爬取全球股市涨跌幅和涨跌额数据
  • LSTM-SVM长短期记忆神经网络结合支持向量机组合模型多特征分类预测/故障诊断,适合新手小白研究学习(Matlab完整源码和数据)
  • 经颅磁刺激靶向治疗的特异性网络
  • 细说python中ValueError和 TypeError的用法区别
  • codeforces A. Simple Palindrome
  • 人工智能100问☞第3问:深度学习的核心原理是什么?
  • 模板引擎语法-变量
  • Java类加载机制原理与应用
  • 可能存在特殊情况,比如控制台显示有延迟、缓冲问题等影响了显示顺序。
  • Koordinator-NodeSLO
  • 使用Python解决Logistic方程
  • vue项目使用html2canvas和jspdf将页面导出成PDF文件
  • springboot新增调度任务
  • 当当平台商品详情接口设计与调用指南
  • 做国际网站每年要多少钱/信息如何优化上百度首页
  • 收费网站建设视频教程免费下载/app有哪些推广方式
  • 北辰网站建设/宣传推广方式有哪些
  • 郑州 公司网站制作/谷歌手机版下载安装
  • 枣庄网站建设哪家好/合肥网站建设公司
  • 网站建设费用价格/手机网站自助建站系统