skynet

笨鸟先飞的橘猫3 天前
skynet
skynet——上下文管理在 skynet 中,一个服务 ≠ 一个 Lua VM ≠ 一个进程,而是:C 层有一个 struct skynet_context 结构体
笨鸟先飞的橘猫11 天前
网络·学习·skynet
skynet——网络模块学习epoll/kqueue + 非阻塞设计巧思:socket 线程只负责 IO 和封 message,不碰 Lua;worker 只从 mq 取 message 调 Lua,不碰 fd。两边靠 mq 解耦,完全没有"IO 线程 vs 业务线程抢同一份数据"的问题。
笨鸟先飞的橘猫17 天前
学习·skynet
skynet——sharetable学习进程内多 Lua VM 之间的数据共享机制skynet 每个服务是独立 Lua VM,如果 100 个服务各 load 一份 500KB 的配置表,就是 50MB 浪费。
笨鸟先飞的橘猫17 天前
分布式·skynet
skynet——分布式支持skynet 本身只解决"单机多核",集群是后来补的基础设施。两套方案是前后代关系,harbor 是早期的 master/slave 模式,cluster 是后来推荐的替代。
笨鸟先飞的橘猫19 天前
监控·skynet
skynet监控实践PrometheusGrafana:一个可视化工具,接入时监控以下5个维度节点级:总服务数、总 mqlen 加和、jemalloc resident 内存、worker 线程数
Huanzhi_Lin2 个月前
笔记·lua·skynet·actor·actor模型
skynet笔记
笨鸟先飞的橘猫2 个月前
分布式·学习·游戏·lua·skynet
MMO游戏中的“跨服团队副本”匹配与状态同步系统在一个大型多人在线(MMO)游戏中,策划希望推出一个高难度的“世界级团队副本”。该副本需要20名玩家共同挑战。由于单服玩家数量有限,系统需要支持跨服匹配。副本内有复杂的机制,如多个阶段BOSS、团队资源(如团队怒气值)、可被玩家交互的环境物件。玩家共同挑战后,根据各自的贡献给予奖励。
沐风ya4 个月前
skynet
skynet消息(构成,session,type介绍),数据库与内存管理,消息调用链(发送层,调度层,lua层,总结),外部服务(介绍,skynet内置支持)目录消息 Message消息构成消息函数的参数列表session为什么需要session 的所有权type
利来利往4 个月前
lua·skynet·绑核
skynet指定的多个服务绑定同一个线程为什么会需要多个服务绑定一个线程?skynet节点的线程数量是可以配置的,但是你不可能配置非常多吧?如果我们一个节点有非常多的服务,我们想其中某些服务不能卡,那么就需要把服务绑定线程不和其他服务共享线程。 我们有一些服务,业务很简单,虽然不怎么吃资源,但是要求不能卡,都需要绑定线程,如果给每一个服务都绑定线程,剩下的留给其他服务共享,可能会资源浪费。绑定的服务消耗了太多的线程,饱的饱死,饿得饿死。 所以我们需要把那些需要独立线程,本身其实不怎么吃资源的,给他们绑定同一个线程。 -- thread_prox
沐风ya4 个月前
lua·skynet·actor
skynet概述(service,lua虚拟机,架构设计,如何解决核心问题)目录介绍skynet与serviceservice介绍service创建豆知识过程handleservice运行阶段
莱茵不哈哈1 年前
lua·c·skynet
初探 Skynet:轻量级分布式游戏服务器框架实战在游戏服务器开发领域,高效、稳定且易于扩展的框架一直是开发者追求的目标。Skynet 作为一款轻量级、高性能的分布式游戏服务器框架,凭借其独特的设计理念和强大的功能,赢得了众多开发者的青睐
monstercl1 年前
lua·skynet·游戏服务器
Skynet.socket 函数族使用详解Skynet 的 skynet.socket 模块提供了 TCP/UDP 网络通信的核心 API,结合协程机制实现了阻塞式调用模型,简化了异步网络编程。本文详细解析其核心函数、使用场景及最佳实践。
monstercl1 年前
lua·skynet·游戏服务器
skynet.dispatch 使用详解skynet.dispatch 是 Skynet 框架中用于注册消息处理函数的核心 API。它的作用是为特定类型的消息绑定处理逻辑,当服务收到该类型的消息时,自动调用对应的处理函数。以下是其详细解析:
Winston-Tao1 年前
lua·游戏开发·c 语言·skynet·游戏服务器框架
Skynet 中 snlua 服务启动整体流程分析前言: 在 Skynet 中,Lua 扮演了极其重要的角色。Skynet 大多数业务逻辑都跑在一个个 Lua 服务里,而能够将 Lua 环境嵌入到 Skynet 框架下,并与 Skynet 消息调度机制完美结合,正是 snlua 服务所承担的核心功能。
monstercl1 年前
c语言·网络·lua·skynet·游戏服务器
skynet网络包库(lua-netpack.c)的作用解析该库是 Skynet 框架中用于高效处理网络数据包的核心模块,主要功能包括:使用 GCC 编译命令生成 .so 文件:
毛小子1 年前
skynet·游戏服务器
skynet简单游戏服务器的迭代用hash类型存储–key主要有4种:----第一种:mysql表数据对应的主键key:index_表名; field:main_index; val:indexList 其中main_index一般是主键,而联合主键的main_index就是联合主键中的主要字段,比如玩家对应多条装备数据,则用玩家id作为main_index indexList则是对应的主键列表,用table格式序列化成json
Winston-Tao1 年前
lua·游戏开发·c 语言·skynet·游戏服务器框架
skynet 源码阅读 -- 核心概念服务 skynet_context本文从 Skynet 源码层面深入解读 服务(Service) 的创建流程。从最基础的概念出发,逐步深入 skynet_context_new 函数、相关数据结构(skynet_context, skynet_module, message_queue 等),并通过流程图、结构图、以及源码片段的细节分析,希望能对 Skynet 服务的创建有一个由浅入深的系统认识。
Winston-Tao1 年前
c语言·lua·游戏开发·skynet·游戏服务器框架
Skynet实践之「Lua C 模块集成—优先级队列」本文展示了 如何以 C 实现一个通用的“最小堆(Min-Heap)优先队列 并在 Skynet 中通过 Lua C 模块集成使用,从而获得更高的性能与通用性。
Winston-Tao1 年前
c语言·网络编程·epoll·skynet
skynet 源码阅读 -- 「揭秘 Skynet 网络通讯」本文将聚焦 Skynet 网络通讯的核心线程 thread_socket,并深入探讨 skynet_socket_poll、forward_message、socket_server_poll 等关键函数如何协作,实现高效的网络数据收发与消息分发。
一眼万里*e2 年前
c++·skynet
skynet 实操篇上一篇写完skynet入门篇,这一篇写点实操性质的。对于一个开源框架,大部分都有他们自己的demo。先来看下这个examples下边有什么。