返回目录
开源项目设计创作类新手

Memphis.dev:面向后端开发者的事件与数据流平台(已转为公开维护)

Memphis.dev 是一个面向后端开发者设计的高可扩展、易上手的数据流平台,目标是让团队在 3 分钟内搭建生产级消息代理,并快速构建事件驱动与实时功能。它提供易用 UI、CLI 与多语言 SDK,具备数据级可观测性、带自动重投的死信队列、内嵌 Schema 管理(Schemaverse)、实时处理 Functions、图可视化与存储分层等能力,支持 Kubernetes 与 Docker Compose 部署。需要注意的是,来源页面明确说明 Memphis.dev 已不再由 Superstream 团队(原 Memphis.dev 团队)官方支持,并已向公众发布,许可证为 Memphis Business Source License 1.0。

0 次阅读2026/09/15 发布
Memphis.dev:面向后端开发者的事件与数据流平台(已转为公开维护) 来源图片

社区作者 · zZz

它解决什么问题

项目定位

Memphis.dev 自称是“第一个为后端开发者设计的数据流平台”,用于比以往更快地构建事件驱动与实时功能。来源指出,在 Memphis 出现前,大规模事件的摄取与处理往往需要数月才能落地,是只有头部 20% 巨型公司才具备的能力;Memphis 希望让其余 80% 的团队也能快速、低成本地获得事件与数据流能力。【配图 10 为来源中标注的 memphis.dev 架构示意图】

重要状态说明

来源正文开头明确提示:Memphis.dev 已不再由 Superstream 团队(原 Memphis.dev 团队)官方支持,并已发布给公众。使用前需自行评估维护状态与风险。

核心特性(来源标注为 v1.4.4)

  • 3 分钟内可用的生产级消息代理(Production-ready message broker)
  • 易用的 UI、CLI 与 SDK
  • 数据级可观测性(Data-level observability)
  • 带自动消息重传的死信队列(Dead-Letter Queue with automatic message retransmit)
  • Schemaverse:为生产数据提供内嵌 Schema 管理,支持 Protobuf / JSON / GraphQL / Avro
  • 用于实时处理的 Functions
  • 图可视化(Graph visualization)
  • 存储分层(Storage tiering),来源声称可节省最高 96% 存储成本
  • SDK:Node.JS、Go、Python、Typescript、NestJS、REST、.NET、Kotlin
  • Kubernetes 原生(Kubernetes-native)
  • 社区驱动(Community driven)
  • 端到端可观测性:可“感受”生产者、消费者与记录,通过图总览快速分析系统健康状况
  • 通过自动死信机制避免消息丢失
  • 通过 Schema 提升数据质量

SDK 能力覆盖(来源表格摘要)

来源给出 Go / Python / JS / .NET / Java / Rust 六种 SDK 的功能对照表。共同支持的能力包括:连接、断开连接、Produce、Consume、Ack 消息、消息序号获取、检查 broker 是否已连接等。

差异点摘要:

  • 创建/销毁 station、Retention 与 Retention 值、Storage 类型:Go、Python、JS、.NET、Rust 支持,Java 不支持
  • 创建新 Schema、强制 Protobuf/JSON/GraphQL/Avro Schema、解绑 Schema、Schema 反序列化:Go、Python、JS、.NET 支持;Java 不支持;Rust 对 JSON Schema 标注为 🚧(WIP),其余标注为不支持
  • 添加 headers、异步 produce、消息 ID、消息延迟、获取 Headers、销毁 Consumer:多数支持,Java 部分为不支持或 Partial,Rust 对消息 ID 标注为“?”
  • Nack 消息、将消息发送到死信、获取消息发送时间:Go、Python、JS、.NET 支持,Java 与 Rust 不支持
  • 消息处理器上下文:Go、Python、JS、.NET 支持,Java 不支持,Rust 标注为 “Not Applicable”
  • Consumer prefetch:Go、.NET、Rust 支持,Python、JS、Java 不支持
  • Fetch:Go、Python、JS、.NET、Java 支持,Rust 不支持

公开案例(来源列出)

  • Dstny:使用 Memphis.dev 构建下一代内部通信
  • Gastromatic:使用 Memphis.dev 同步数据
  • KELA:实时网络威胁识别
  • 处理数百万条 Discord 消息

适用对象

  • 需要快速搭建事件驱动架构的后端开发者与平台工程师
  • 希望以低门槛引入消息代理 / 数据流能力的中小团队
  • 需要在 Kubernetes 上原生运行数据流组件的运维与基础设施团队
  • 需要数据级可观测性、死信重投与 Schema 治理的数据平台团队

许可证要点

Memphis 采用 “Memphis Business Source License 1.0”,其基础来自 Apache 2.0。来源引用的主要差异是:被许可作品(i)只能作为你自己产品或服务的一部分使用,前提是该产品或服务不是消息代理或消息队列产品或服务;(ii)不得将作品作为“Service”来使用、提供、分发或对外可用。

“Service”指允许第三方(不含你方员工与代表你方行事的承包商)访问或使用该作品,或访问使用其大部分特性/功能的商业产品、托管或管理服务,例如 SaaS、PaaS、IaaS 或与许可方产品或服务竞争的其他类似服务。完整条款需查阅仓库 License 文件。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

来源提供两条官方快速开始路径,均为命令行方式。

准备环境

  • 方式一:已安装并可用 Helm 的 Kubernetes 集群,且具备创建命名空间的权限。
  • 方式二:已安装 Docker 与 Docker Compose CLI(可使用 docker compose 子命令)。
  • 需要联网以拉取 Helm 仓库或 docker-compose.yml 与相关镜像。

方式一:Kubernetes(Helm)

第一步,添加 Memphis Helm 仓库(来源使用了 --force-update 参数):

bash
helm repo add memphis https://k8s.memphis.dev/charts/ --force-update

第二步,安装 Memphis,并自动创建命名空间 memphis(来源将 release 命名为 my-memphis):

bash
helm install my-memphis memphis/memphis --create-namespace --namespace memphis

来源将这两条命令写成同一条 && 串联命令:

bash
helm repo add memphis https://k8s.memphis.dev/charts/ --force-update && \
helm install my-memphis memphis/memphis --create-namespace --namespace memphis

方式二:Docker Compose

第一步,下载官方 compose 文件到当前目录,命名为 docker-compose.yml

bash
curl -s https://memphisdev.github.io/memphis-docker/docker-compose.yml -o docker-compose.yml

第二步,指定该文件并使用项目名 memphis 启动:

bash
docker compose -f docker-compose.yml -p memphis up

来源将这两条命令写为:

bash
curl -s https://memphisdev.github.io/memphis-docker/docker-compose.yml -o docker-compose.yml && \
docker compose -f docker-compose.yml -p memphis up

首次运行与后续使用

  • 来源称可在 3 分钟内获得生产级消息代理。
  • 部署后通过 UI、CLI 或 SDK 接入;SDK 覆盖 Node.JS、Go、Python、Typescript、NestJS、REST、.NET、Kotlin。
  • 可按需创建 station、生产/消费消息、配置 Retention 与存储类型、创建并强制 Schema、使用死信队列与 Functions。

常见问题

  • 官方支持状态:来源明确表示项目已不再由 Superstream 团队官方支持,遇到问题时社区渠道可能不再活跃,需自行评估。
  • 遇到报错或缺陷:来源建议创建 bug report。
  • 有新功能想法:来源建议提交 feature request;若已存在类似 issue,可留言 “+1” 并补充想法与设想。
  • 其他问题、疑问与反馈:来源指向官方 Discord 服务器。
  • 具体硬件规格、端口与生产调优参数在本页来源中未明确,属「待核验」。

来源教程配图

Github (4)
配图 1 · Github (4)查看原图
20
配图 2 · 20查看原图
教程配图
配图 3 · 教程配图查看原图
教程配图
配图 4 · 教程配图查看原图
Screenshot 2023-09-29 at 10 17 01
配图 5 · Screenshot 2023-09-29 at 10 17 01查看原图
教程配图
配图 6 · 教程配图查看原图
Screenshot 2023-09-29 at 10 17 12
配图 7 · Screenshot 2023-09-29 at 10 17 12查看原图
Screenshot 2023-09-29 at 10 17 58
配图 8 · Screenshot 2023-09-29 at 10 17 58查看原图

适用场景

异步任务管理
实时流式管道
数据摄取
云消息传递
微服务与服务网格通信
事件/数据流(可观测性
分析
ML/AI)
队列(Queuing)
N:N 通信模式
大规模摄取 Grafana Loki 日志