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

相关推荐
ltl8 小时前
3D 并行深度:数据 / 张量 / 流水 / 序列 / ZeRO
分布式
FserSuN16 小时前
回顾Spark的概念与应用
大数据·分布式·spark
IT机器猫1 天前
RabbitMQ基础二
java·spring boot·分布式·spring cloud·log4j·rabbitmq·springamqp
水无痕simon1 天前
3 RabbitMQ基础
分布式·rabbitmq·ruby
starzy19902 天前
SparkSQL 数据源与底层架构深度剖析
大数据·分布式·架构·spark
番茄炒鸡蛋加糖2 天前
RabbitMQ 全套复盘 + Nacos+ES+MyBatis-Plus 梳理
分布式·rabbitmq
零域码客2 天前
从 SQLite 到 PostgreSQL:轻量单机到分布式架构选型、避坑与迁移全解析
分布式·postgresql·sqlite·wal·架构设计·后端开发·数据库选型
ltl2 天前
2PC 的真实失败模式:阻塞、脑裂与恢复
分布式
霸道流氓气质2 天前
分布式系统设计:技术解析与实践
分布式
画中有画2 天前
分布式锁架构方案选型与实践
分布式·架构