Lnjoying Open NextStack总体架构

Lnjoying Open NextStack是秒如科技自主研发的新一代开源人工智能云计算 IaaS(基础设施即服务)平台。整体架构分为管理平面,基于JAVA语言开发,采用微服务组件化架构设计;能力层:执行Agent,基于 Go 语言开发,采用模块化、微服务架构设计,支持CPU/GPU/TPU管理、裸金属/虚拟机管理、快照管理、VPC/Subnet/安全组管理、块存储/对象存储管理和自动热迁移等多种AI云计算基础设施管理功能。

整个架构完全**“去OpenStack”**,抛弃了OpenStack冗余臃肿的架构,整个设计极简架构、极致轻量化,最小可在单台工控机进行完整部署,最低运行资源4G内存即可以完整运行,仅需10%的资源消耗实现90%的人工智能云计算能力。既适合在云端智算中心场景进行大规模部署,也适合在边缘数据中心、端侧机器人、太空/卫星等场景部署。

✅ 架构概览图

在这里插入图片描述

✅ 核心模块架构

在这里插入图片描述

✅核心技术栈

• 编程语言: Go 1.22.2 (主服务),Java(管理平面),Python (部署脚本)
• Web 框架: Echo v3.3.10
• CLI 框架: Cobra + Viper
• 分布式存储: etcd v3.5.13
• 虚拟化: libvirt + KVM
• 网络虚拟化: Open vSwitch
• 日志系统: zap + lumberjack
• 配置管理: YAML 格式配置
• 容器技术: Docker (NFS 服务)

1. 编程语言

• Go 1.22.2 - 项目的核心开发语言
• Python - 用于部署脚本 (gnext_deploy.py)
• C/C++ - 用于第三方模块 (third_party/fm)
• Java - 管理平面
• Perl - 用于部署脚本中的某些配置任务
• Shell Script - 用于各种自动化脚本

2. Web 框架与 API

• Echo v3.3.10 - 高性能的 Go Web 框架,用于构建 HTTP API 服务
• gRPC - 用于微服务间的高性能通信
• RESTful API - 标准的 HTTP API 设计

3. 数据库与存储

• ObjectBox - 高性能的本地数据库,主要用于 DPU Agent 模块
• etcd v3.5.13 - 分布式键值存储,用于配置管理和服务发现

4. 虚拟化与容器技术

• libvirt-go v7.4.0 - Go 语言的 libvirt 绑定,用于 KVM 虚拟机管理
• Docker - 容器化技术支持
• KVM - 内核虚拟机技术

5. 网络技术栈

网络协议

• OpenFlow - SDN 控制协议
• VXLAN - 虚拟扩展局域网
• BGP - 边界网关协议

网络组件

• GoBGP - Go 实现的 BGP 协议栈
• Open vSwitch (OVS) 3.2.0 - 虚拟交换机
• OpenvSwitch - 支持 CentOS 和 Ubuntu 的 OVS 部署

6. 硬件管理

BMC 支持

• 华为 BMC 接口 - 华为服务器基板管理控制器
• 惠普 BMC 接口 - 惠普服务器基板管理控制器
• IPMI 协议 - 智能平台管理接口

GPU 管理

• NVIDIA GPU - 支持 NVIDIA 显卡管理
• VFIO - 虚拟功能 I/O,用于 GPU 直通

7. 日志与监控

日志系统

• zap v1.27.0 - 高性能结构化日志库
• loguru - Python 日志库(部署脚本使用)
• lumberjack - 日志轮转支持

监控组件

• Node Exporter - 系统指标收集
• Libvirt Exporter - 虚拟化监控
• GPU Exporter - GPU 资源监控
• Prometheus - 指标收集与存储
• Grafana - 监控数据可视化

8. 命令行工具

• Cobra v1.8.0 - 强大的 CLI 命令行工具框架
• viper - 配置文件管理(通常与 Cobra 配合使用)

9. 操作系统支持

Linux 发行版

• CentOS - 使用 yum 包管理器
• Ubuntu - 使用 apt 包管理器

系统服务

• systemd - 系统服务管理
• nginx - Web 服务器,用于代理和负载均衡
• SSH - 远程访问和文件传输

10. 存储与文件系统

• NFS - 网络文件系统
• ISO9660 v0.4.0 - ISO 镜像文件格式支持
• Loop 设备 - 用于卷管理

11. 网络服务

• dnsmasq - DNS 和 DHCP 服务
• squid - 代理服务器
• VNC - 远程桌面访问
• NoVNC - 基于 Web 的 VNC 客户端

12. 构建与部署工具

• Make - 构建工具(用于 third_party/fm 模块)
• Go Modules - Go 依赖管理
• RPM/DEB - 软件包管理
• YAML - 配置文件格式

13. 网络配置工具

• netplan - Ubuntu 网络配置
• ifcfg - CentOS 网络配置
• NetworkManager - 网络管理服务

14. 安全组件

• SELinux - 安全增强型 Linux
• firewalld/ufw - 防火墙管理
• SSH 密钥认证 - 无密码登录


这个技术栈体现了Open NextStack项目作为一个企业级虚拟化和基础设施管理平台的复杂性和完整性,涵盖了从底层硬件管理到上层应用服务的全栈技术。项目采用了现代化的 Go 语言生态,同时集成了成熟的底层技术,具有良好的可扩展性和维护性。


📜 许可证(License)

NextStack 采用 Apache 2.0 修改开源协议

📣 联系我们

  • GitHub:https://github.com/lnjoying-ai
  • 官网:https://91gpu.cloud
  • 邮箱:service@lnjoying.com
  • 社区:微信交流群+v:lnjoying-ai
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐