Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SatelliteServer — 独立卫星服务器

每颗卫星一个独立服务器进程,可部署到 Kubernetes 集群(几百~几千个)。

快速开始

# 安装依赖
cd satellite-server
julia --project=. -e 'using Pkg; Pkg.instantiate()'

# 本地启动单颗卫星(测试)
SAT_ID=1 julia --project=. bin/server.jl

# 自定义配置
julia --project=. bin/server.jl config/my-satellite.toml

架构

每颗卫星 = 一个独立进程
├── 轨道传播(自己的根数 → 自己的位置,零跨星依赖)
├── 本地 ISL 评估(自己的位置 + 邻居位置 → 哪些边可用)
├── 静态拓扑邻居(O(1) 自算,grid_plus/honeycomb/spiral/ring/tshape/mesh)
└── TCP 通信(与协调器:上报位置/ISL/步进完成,接收 tick/邻居位置)

K8s 部署

# 构建镜像
docker build -t satellite-server:latest -f docker/Dockerfile .

# 部署集群(66 颗卫星 + 协调器)
kubectl apply -f k8s/satellite-cluster.yaml

# 扩到 1584 颗(Starlink 主壳规模)
kubectl scale statefulset satellite -n leo-sim --replicas=1584

配置

三种方式(优先级从高到低):

  1. 环境变量(K8s envSpec 注入):SAT_ID, CONSTELLATION_T, COORDINATOR_HOST
  2. TOML 配置文件config/satellite.toml(K8s ConfigMap 挂载)
  3. 默认值:Iridium 66/6 规模

代码来源

本项目的 foundation/orbit/link/topology 代码复制自 SatelliteSimJulia,改造为独立可运行(去跨包依赖、单星传播器)。

About

Distributed satellite simulation server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages