skynet——分布式支持

概述

skynet 本身只解决"单机多核",集群是后来补的基础设施。两套方案是前后代关系,harbor 是早期的 master/slave 模式,cluster 是后来推荐的替代。

模式

harbor(老方案,master/slave)

  • 每个 skynet 进程是一个 slave,其中一个配 standalone多启一个 cmaster​ 做协调

  • 每个 slave 内有个 harbor 服务​ 负责和其他 slave 通信

  • 服务地址是 32bit,高 8bit = harbor id,所以最多 255 个节点(id 0 保留)

  • 节点内/节点间消息投递对业务透明------skynet 根据地址高 8bit 决定直投还是转 harbor

    服务地址: [harbor_id:8bit][service_handle:24bit]

优点:C 层转发,开销极小;地址透明,业务代码不用感知跨节点

缺点:

  • ≤255 节点

  • 静态配置,启动时定死

  • 无容错------任意节点挂了整个网络视为异常,只能同机房局域网用,不能跨机房

cluster(新方案,推荐)

  • 用字符串 node 名标识节点(如 "game1"、"gate"),节点数无上限

  • Lua 层 RPC(cluster.call/ cluster.send),走二进制协议

  • 支持 cluster.reload()运行时更新配置,节点可动态增删

  • 每个节点独立注册自己提供的服务,查询靠 cluster.proxy

相关推荐
fastjson_9 分钟前
Spark 安装和使用
大数据·分布式·spark
spter。10 分钟前
从一次关注到最终一致:Canal、Outbox 与 Kafka 如何解决关系链双写问题
分布式·kafka
MC丶科29 分钟前
软考架构师90天冲刺|DAY38·第二阶段综合测试-分布式与云原生
分布式·云原生·架构·serverless·service_mesh·软考架构师
hm宋32 分钟前
ZooKeeper 容灾切换免重启实践:域名化配置与客户端自动迁移
分布式·zookeeper·云原生
kruptos9 小时前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
小智老师PMP11 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
会周易的程序员13 小时前
5Draft(五帝)测试报告
服务器·c++·分布式·raft·共识算法·共识·算力服务器
想要打 Acm 的小周同学呀19 小时前
Kafka消息队列出现挤压如何解决?
分布式·kafka
stark张宇1 天前
分布式事务最全图解(6种方案):从强一致的2PC到最终对账,彻底搞懂数据一致性
分布式·后端
会周易的程序员1 天前
5Draft使用说明书
服务器·c++·分布式·raft·共识