专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

astronomerinc/ap-nats-streaming Docker 镜像 - 轩辕镜像

ap-nats-streaming
astronomerinc/ap-nats-streaming
Astronomer平台专用的NATS Streaming镜像,提供高性能、持久化的消息流处理能力,支持事件驱动架构,为Astronomer平台组件间通信和数据流管理提供可靠支持。
0 次下载activeastronomerinc镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Astronomer平台NATS Streaming镜像文档

镜像概述

本镜像为Astronomer平台定制,基于NATS Streaming(STAN)构建。NATS Streaming是NATS消息系统的扩展,提供持久化、消息重播、事件流处理等增强功能,专为需要可靠消息传递的分布式系统设计。该镜像预配置适配Astronomer平台架构,可无缝集成到平台生态中,作为核心消息传递层支持组件间通信和事件驱动工作流。

核心功能与特性

1. 高性能消息传递
  • 支持多种消息模式:发布/订阅(Pub/Sub)、请求/回复(Request/Reply)、队列订阅(Queue Subscriptions)
  • 低延迟消息处理,吞吐量可达每秒数十万消息
  • 轻量级设计,资源占用低,启动快速
2. 消息持久化与可靠性
  • 支持消息持久化存储(基于文件系统或内存)
  • 消息确认机制(ACK)确保消息可靠传递
  • 自动重连功能,保障连接稳定性
3. 消息流高级特性
  • 消息重播:支持按时间范围、序列号或最后位置重播消息
  • 持久化订阅:即使订阅者离线,消息也会保存直至被处理
  • 消息限流:防止消费者被消息洪流淹没
4. 可扩展性与集成
  • 支持集群模式部署,实现水平扩展
  • 与Astronomer平台组件(如Airflow、Houston API)预集成
  • 兼容标准NATS客户端协议,支持多语言接入

使用场景

  • Astronomer平台内部通信:连接平台各微服务(如元数据管理、任务调度、用户认证)
  • 事件驱动工作流:触发基于事件的自动化流程(如DAG部署、任务状态变更通知)
  • 数据流处理:收集、传输和处理平台运行时数据(如任务执行日志、资源使用指标)
  • 微服务解耦:作为消息中间件,降低服务间直接依赖,提高系统弹性
  • 灾备与数据恢复:利用消息持久化和重播功能,支持系统故障后的状态恢复

使用方法与配置

基本运行

使用以下命令启动基本的NATS Streaming容器:

bash
docker run -d \
  --name astronomer-nats-streaming \
  -p 4222:4222 \  # NATS客户端连接端口
  -p 8222:8222 \  # 监控端口
  astronomerinc/nats-streaming:latest
自定义配置

通过环境变量或配置文件进行自定义配置,常用环境变量如下:

环境变量描述默认值
NATS_LISTEN_ADDRESSNATS服务监听地址0.0.0.0
NATS_CLIENT_PORT客户端连接端口4222
NATS_MONITOR_PORT监控接口端口8222
STORE_TYPE持久化存储类型(file或memory)file
STORE_DIR文件存储路径/data/stan/store
CLUSTER_ID集群标识(多节点部署时需一致)astronomer-stan
MAX_PAYLOAD_SIZE最大消息 payload 大小(字节)*** (1MB)
RETENTION_POLICY消息保留策略(limits或interest)limits

示例:自定义存储路径和集群ID

bash
docker run -d \
  --name astronomer-nats-streaming \
  -p 4222:4222 \
  -p 8222:8222 \
  -v /host/path/to/store:/data/stan/store \  # 挂载宿主机目录作为持久化存储
  -e STORE_DIR=/data/stan/store \
  -e CLUSTER_ID=astronomer-production \
  -e MAX_PAYLOAD_SIZE=2097152 \  # 2MB
  astronomerinc/nats-streaming:latest
Docker Compose配置

在Astronomer平台部署中,建议使用Docker Compose管理NATS Streaming服务:

yaml
version: '3.8'

services:
  nats-streaming:
    image: astronomerinc/nats-streaming:latest
    container_name: astronomer-nats-streaming
    restart: always
    ports:
      - "4222:4222"
      - "8222:8222"
    environment:
      - NATS_LISTEN_ADDRESS=0.0.0.0
      - STORE_TYPE=file
      - STORE_DIR=/data/stan/store
      - CLUSTER_ID=astronomer-stan-cluster
      - RETENTION_POLICY=limits
      - MAX_AGE=72h  # 消息最大保留时间(3天)
    volumes:
      - nats-store:/data/stan/store
    networks:
      - astronomer-platform-network

volumes:
  nats-store:  # 持久化卷,确保数据不丢失

networks:
  astronomer-platform-network:
    external: true  # 假设已存在平台网络
集群部署

对于高可用需求,可部署NATS Streaming集群:

bash
# 节点1
docker run -d \
  --name nats-streaming-node1 \
  -e CLUSTER_ID=astronomer-cluster \
  -e NATS_LISTEN_ADDRESS=0.0.0.0 \
  -e ROUTES=nats-route://nats-streaming-node2:6222,nats-route://nats-streaming-node3:6222 \
  -p 4222:4222 \
  -p 6222:6222 \  # 集群路由端口
  astronomerinc/nats-streaming:latest

# 节点2(类似配置,调整ROUTES指向其他节点)
# 节点3(类似配置,调整ROUTES指向其他节点)

注意事项

  • 持久化存储需确保磁盘空间充足,避免消息存储满导致服务异常
  • 集群部署时,所有节点的CLUSTER_ID必须一致
  • 生产环境建议启用认证机制(如TLS加密、令牌认证),增强安全性
  • 监控端口(8222)默认开放,生产环境可限制访问来源或禁用
  • 定期备份持久化数据,防止数据丢失

客户端连接

NATS Streaming兼容标准NATS客户端,示例Python客户端连接代码:

python
import asyncio
from nats.aio.client import Client as NATS
from stan.aio.client import Client as STAN

async def run():
    # 连接NATS服务器
    nc = NATS()
    await nc.connect("nats://nats-streaming:4222")
    
    # 连接NATS Streaming
    sc = STAN()
    await sc.connect("astronomer-stan-cluster", "client-123", nats=nc)
    
    # 订阅消息
    async def callback(msg):
        print(f"Received message: {msg.data.decode()}")
    
    await sc.subscribe("platform.events", queue="worker-queue", cb=callback)
    
    # 发布消息
    await sc.publish("platform.events", b"Task completed successfully")

if __name__ == '__main__':
    asyncio.run(run())
查看更多 ap-nats-streaming 相关镜像 →
nats-streaming logo
nats-streaming
by library
官方
已废弃;一个开源、高性能、云原生的消息流系统。
166100M+ pulls
上次更新:1 年前
nats logo
nats
by library
官方
NATS是一款开源、高性能的云原生消息系统,专为云环境与分布式架构打造,具备低延迟、高吞吐量的核心优势,能高效支撑实时数据传输、微服务通信及分布式系统间的消息传递,为现代应用提供可靠且灵活的异步通信解决方案。
512100M+ pulls
上次更新:25 天前
bitnami/nats logo
bitnami/nats
by VMware
认证
Bitnami Secure Image for nats是通过商业订阅提供的NATS安全镜像,基于Debian和Photon基础OS,提供近零漏洞的安全加固、漏洞分类与优先级划分、合规支持(FIPS/STIG等)及软件供应链溯源等企业级安全特性。
1910M+ pulls
上次更新:5 个月前
bitnamicharts/nats logo
bitnamicharts/nats
by VMware
认证
Bitnami提供的NATS消息系统Helm Chart,用于简化其在Kubernetes环境中的部署与管理。
500K+ pulls
上次更新:5 个月前
bitnami/nats-exporter logo
bitnami/nats-exporter
by VMware
认证
Bitnami安全镜像,用于NATS指标的Prometheus导出器,提供安全优化的容器化部署方案,支持非root运行及FIPS配置,适用于开发和生产环境的监控需求。
35M+ pulls
上次更新:5 个月前
cleanstart/nats logo
cleanstart/nats
by CleanStart
认证
安全设计、为速度构建的加固容器镜像,基于最小化CleanStart操作系统,提供生产就绪的NATS服务器,具备增强安全特性、监控能力和企业级可靠性。
10K+ pulls
上次更新:2 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
astronomerinc/ap-nats-streaming
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429