我们知道,云风大神的skynet是一个比较成熟的服务器解决方案。由于大多数程序员都是习惯在window下进行代码开发,有必要在windows下搭建一套skynet的开发环境。但是遗憾的是官方一直没有提供window下直接编译运行的版本,虽然也有大神改造过window下用VS编译的版本,但后续的更新还是会存在问题。    &n
Skynet起源  Skynet起源于云风在简悦研发的第一个项目,研发的过程记录在博客里面,这个研发笔记第一次提到skynet 是框架的开发代号。Skynet综述  Skynet 设计综述提到Skynet核心解决什么问题,不解决什么问题以及核心功能设计细节Skynet 核心解决什么问题  需求:希望游戏服务器(但 skynet 不仅限于用于游戏服务器)能够充分利用多核优势,将不同的业务放在独立的执
前言skynet是基于C做任务调度和消息传递, 基于lua做业务(消息)处理的框架。只要使用的平台c编译器支持c99,就能够编译运行skynet。 所以理论上skynet可以运行在嵌入式领域的。虽然skynet非常好用,但是skynet却不太好入门。 如果不充分理解skynet的原理,那么会提高不少的维护成本。因此编写此文档旨在更了解skynet的原理。 关于skynet框架的C语言部分网上已经很
转载 2024-07-25 13:10:29
156阅读
skynet网络剖析 1.tcp 2.epoll 3.socket线程 4.gate服务 5.netpack 解包打包 6.service_gate.c 原理 数据流大概如下 thread_socket --> skynet_socket_poll -->forward_message skynet_start.c skynet节点启动时会启动一个线程专门处
先插一句题外话,skynet中核心架构使用c语言,除此之外还大量使用了lua语言。这里不介绍luaskynet在c中嵌入一层lua,主要是为了利用lua的协程,同步的方式实现异步的性能。关于协程,之前有过介绍。skynet中,io操作是由c完成的,lua是做业务层面的组装工作。 之前有过介绍,skynet中,有网络消息,这里介绍网络框架和网络消息的处理。网络模型skynet 采用 reactor
转载 2024-10-31 19:39:58
115阅读
一、Skywalking介绍  skywalking是国产开源框架,一款分布式观察性分析平台和应用性能管理系统,提供分布式追踪,服务网格遥测分析,量度集合和可视化;对于一个大型的几十个,上百个微服务,skywalking能解决什么问题:  1.如何串联整个调用链路,快速定位问题?  2.如何缕清各个微服务之间的关系?  3.如何进行各个微服务之间的性能分析?  4.如何跟踪整个业务流程的调用处理顺
服务消息分发和回应同样在同一个目录建立3个文件(config,main.lua,service2.lua) config文件参考上一节main.lua代码:local skynet = require "skynet" -- 启动服务(启动函数) skynet.start(function() -- 启动函数里调用Skynet API开发各种服务 print("======Server st
在实现业务逻辑的过程中,各个逻辑一般会抽象成一个服务,例如游戏中的登录服务,访问数据库服务,创建房间服务等等.服务与服务之间肯定是要通信和交互的,例如登录的时候要请求数据库验证.skynet是怎么实现两个服务的通信和交互的呢?为了突出主干,我简化了lua服务代码,A服务调用B服务:A服务代码(bootstrap.lua):skynet.start(function() local addr =
转载 2024-07-16 20:43:01
94阅读
对于你不了解的框架或者引擎,介绍再多的逻辑结构都好像有点茫然的感觉。所以小编认为,最有效的方式就是搞清楚框架启动流程的步骤,让自己心中有一条线可以牵引着。以下内容转载于网友分享的文档里说明。对小编来说,如获珍宝,在这里也分享给大家。启动流程的相关源代码skynet-src\skynet_main.c 和skynet-src\skynet_start.c 这两个文件中。skynet_main.c
转载 2024-04-22 10:41:29
122阅读
本博客基于结项时的项目报告,写于2021年9月中下旬,内容稍有落后。代码Merge前发布的英文博客中包含了更详细易懂的例子,如有需要请参考。该项目来自于开源软件供应链点亮计划 - 暑期2021的Apache IoTDB - Apache SkyWalking适配器项目。插件的设计和开发工作都得到了IoTDB的黄向东老师(@jixuan1989)和SkyWalking的吴晟老师(@wu-sheng)
Skynet入门实例一、下载和编辑二、运行解析三、理解skynet3.1 配置文件说明:3.2 目录结构:四、skynetAPI五、skynet实例程序4.1 PingPong4.2 聊天室(Echo的升级,收到的信息广播给所有在线玩家)4.3 做留言板,使用数据库4.4 监控服务状态4.5 使用节点集群建立分布式系统六、使用skynet注意事项5.1 协程的作用5.2 扣除金币的Bug 一、下
在前一篇中我们支持了通过函数名称来添加断点,我们同时也提到了在Lua中一个函数的名称的并不是确定的。准确的说,Lua中的函数并没有名称,所谓名称其实是保存这个函数值的变量的名称。于是通过函数名称添加断点就造成了一定的不确定性,因为函数被调用时并不一定是以这个名字被调用的。另外,多个不同的函数也可能以相同的名字进行调用。所以为了解决这个问题,本篇我们将继续扩展断点的设置接口,支持通过包名来添加断点
转载 2024-04-20 14:07:22
180阅读
本篇主要介绍在Lua服务里调用skynet网络层底层接口的流程,Lua层的api主要在lualib/skynet/socket.lua,可参考官方wiki https://github.com/cloudwu/skynet/wiki/Socket。通过一个简单的例子说明Lua服务是如何最终调用到网络层底层接口的
原创 2022-04-25 13:41:47
754阅读
简介  在分布式系统当中,想要监控服务与服务之间调用耗时,或者是查问题的时候,不能像向单机那种形式去查询.查找了一段时间发现目前市场上用的是skywalking,由华为大佬开源的项目。摘自skywalking简介:一个开放源代码的可观察性平台,用于收集,分析,聚合和可视化来自服务和云本机基础结构的数据   SkyWalking为服务,服务实例,端点提供可观察性功能。服务,实例和端点这两个术语在今天
转载 2024-08-14 18:00:48
60阅读
前言      在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。       整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用
转载 2024-05-13 22:40:38
71阅读
windows安装xdebug扩展 1.下载对应版本的xdebughttps://xdebug.org/download 2.解压缩将.dll文件复制到对应版本的PHP目录下扩展目录ext3.配置php.iniSublime text 安装xdebug1.首先下载xdebug插件ctrl + shift + p  输入 ins然后搜索xdebug 2.配置首选项/Pa
转载 2024-05-20 22:20:58
31阅读
在vscode中断点调试ros1工程主要分为以下几步:1. 第一步就是修改cmakelist.txt,到调试模式。 将CMAKE_BUILD_TYPE原来对应的代码注释掉,原来的一般都不是调试模式。加上下面一行代码,意思是设置调试模式。# 断点调试 SET(CMAKE_BUILD_TYPE "RelWithDebInfo")然后打开终端进行编译。最后在终端中先source 当前环境,再打开vsco
  设置断点:在如下图中的红色圆点处设置断点,红色圆点表示已经在这行设置断点。快捷键F9。      启动调试:按F5或者点击左边红框中的按钮。右边框是开始执行(不调试)Ctrl+F5。      调试工具栏:下面是工具栏中对应的名称和快捷键。            &
  作者 | 青石路内心的独白写作背景  2017 从 eclipse 换到 IDEA,适应了一段时间,后面一直用 IDEA 2018 版,使用期间偶尔出现一些小问题,但不多,没太注意  最近换了电脑,开发环境得重新搭,顺便把 IDEA 更新下。本来打算用 2020 版的,可网上对 2020 版的评论一致比较差,所以我就放弃做勇士了,用的是 2019.3.5 版本  
一,Fiddler的强大莫过于设置断点了,设置好断点以后,你可以修改httpRequest的任何信息包括host,cookie或者表单中的数据,这是断点有两种方法   1,请求断点   第一种:打开Fiddler 点击Rules-->Automatic Breakpoint --->Before Requests(这种方法会中断所有的会话)       如何消除命令呢?点击R
  • 1
  • 2
  • 3
  • 4
  • 5