dbx 的 Pulsar 4.2 冒烟测试环境:public/default 命名空间与 dbx-smoke 主题实战
数据库开发者工具桌面应用CLIMCP 服务AI 应用【免费下载链接】dbx15MB轻量级跨平台数据库客户端、数据库管理工具。支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server 等。15MB, lightweight, cross-platform database client. Supports MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server and more.项目地址https://gitcode.com/t8y2/dbx点击查看免费下载导读本文围绕 dbx 仓库中deploy/database/pulsar/4.2/这套 Pulsar 4.2 数据库测试配方展开讲解如何在本地以 Docker Compose 拉起 Pulsar standalone并通过make db-verify向persistent://public/default/dbx-smoke发布DBX smoke冒烟消息来验证环境可用性。读完本文你将掌握 Pulsar 独立模式的命名空间自动创建机制、冒烟主题的完整语义解析以及 dbx 中从配方启动、验证到接入桌面客户端的一整套实操方法。Pulsar 4.2 配方在 dbx 测试环境中的定位dbx 仓库在 deploy/database/README.md 中维护了一套可重复创建的 Docker Compose 数据库测试环境每个版本配方都遵循统一约定固定镜像版本、命名卷、仅绑定回环地址的端口、健康检查以及初始化数据或验证阶段的冒烟数据。Pulsar 4.2 配方位于 deploy/database/pulsar/4.2/其目录结构遵循统一布局deploy/database/pulsar/4.2/ ├── recipe.json # 连接字段和冒烟命令 ├── compose.yaml # Docker Compose 环境 └── init/ # 环境初始化数据其中init/README.md就是本次冒烟数据的说明文档它记录了一个关键事实Pulsar standalone 会自动创建public/default命名空间verify命令会把DBX smoke发布到persistent://public/default/dbx-smoke主题。Pulsar standalone 自动创建 public/default 命名空间为什么不需要手动建命名空间在 Pulsar 中消息主题通过tenant/namespace/topic三段式组织每个主题必须归属于某个命名空间。多租户模式下需要先创建租户和命名空间但在standalone 独立模式下Pulsar 启动时预置了默认的public租户和public/default命名空间。正如 init/README.md 所述这套配方正是利用了这一机制——容器启动后即可直接向public/default下的主题发布消息无需执行pulsar-admin namespaces create等额外初始化步骤。这也是为什么该配方的init/目录无需放置 SQL/脚本初始化文件仅需一份说明性 README 的原因与 Redis 配方的处理方式类似见 deploy/database/README.md。standalone 模式的容器化实现看 compose.yaml 即可还原这一机制的实际落地services: database: image: docker.cnb.cool/znb/images/pulsar:4.2.3 container_name: dbx-pulsar-4.2 restart: always command: [bin/pulsar, standalone, --advertised-address, localhost] ports: - ${DB_BIND_ADDRESS:-127.0.0.1}:${DB_PORT:-11400}:6650 - ${DB_BIND_ADDRESS:-127.0.0.1}:${PULSAR_WEB_PORT:-11401}:8080 volumes: - data:/pulsar/data - conf:/pulsar/conf healthcheck: test: [CMD-SHELL, bin/pulsar-admin brokers healthcheck] interval: 10s timeout: 10s retries: 60 start_period: 30s volumes: data: conf:要点解析入口命令bin/pulsar standalone --advertised-address localhost即以 standalone 模式启动并强制广告地址为localhost保证容器内外通过 localhost 访问时地址一致。双端口6650 为 broker 的二进制协议端口客户端连接用8080 为 HTTP 管理端口Pulsar Admin/Web UI 用。健康检查通过bin/pulsar-admin brokers healthcheck探测retries: 60、start_period: 30s为慢启动留足余量dbx的启动脚本依赖该健康检查结果才能进入后续冒烟阶段。持久化data与conf两个命名卷分别保存 Pulsar 的数据和配置。配方元数据中的连接约定recipe.json 给出了面向 dbx 的连接字段与验证命令{ database: pulsar, name: Pulsar, version: 4.2.3, displayVersion: 4.2, image: docker.cnb.cool/znb/images/pulsar:4.2.3, platforms: [linux/amd64, linux/arm64], service: database, defaultPort: 6650, connection: { host: 127.0.0.1, port: 11400, authentication: none, database: dbx, namespace: public/default, webPort: 11401 }, hostPorts: { DB_PORT: 11400, PULSAR_WEB_PORT: 11401 }, shell: [/bin/bash], smoke: { steps: [{ name: produce a smoke message, command: [bin/pulsar-client, produce, persistent://public/default/dbx-smoke, --messages, DBX smoke], expect: 1 messages successfully produced }] } }值得注意的连接细节宿主端口映射Pulsar 属于 dbx 测试环境默认端口段11400–11499见 scripts/database-env.mjs 的DEFAULT_HOST_PORT_RANGESpulsar: [11400, 11499]。因此二进制端口 6650 映射到宿主11400Web 端口 8080 映射到宿主11401与 Kafka 的113xx段错开互不冲突。连接参数authentication: none本地测试无鉴权、namespace: public/default、数据库名为dbx。镜像双平台声明支持linux/amd64与linux/arm64。冒烟消息persistent://public/default/dbx-smoke 的完整语义冒烟验证的核心目标是向persistent://public/default/dbx-smoke发布一条DBX smoke消息。这条主题 URL 由三段构成逐层解读如下组成部分含义在本配方中的取值持久化类型persistent://表示消息会被持久化存储broker 重启不丢与之相对的non-persistent://则不会落盘persistent://租户tenantPulsar 多租户体系的第一层public是 standalone 预置的默认租户public命名空间namespace租户下的逻辑隔离单元default是 standalone 自动创建的默认命名空间包含全部默认策略如持久化、保留策略default主题名topic命名空间下的具体消息通道本配方固定为dbx-smokedbx-smoke整条地址persistent://public/default/dbx-smoke正是依赖了 init/README.md 中standalone 自动创建 public/default这一前提才能做到零初始化即可发布。冒烟命令的等价手动执行make db-verify实际执行的命令等价于通过docker compose exec进入容器bin/pulsar-client produce persistent://public/default/dbx-smoke --messages DBX smoke该命令向主题发布一条内容为DBX smoke的消息成功时pulsar-client会输出1 messages successfully produced——这正是 recipe.json 中smoke.steps[0].expect期望捕获的文本。只有输出包含该字符串验证才会被判定为通过。如需在本地手动复现验证过程可在仓库根目录依次执行# 1. 启动 Pulsar 4.2 并等待健康检查通过 make db DBpulsar4.2 # 2. 运行冒烟验证启动 发布 dbx-smoke 消息 make db-verify DBpulsar4.2 # 3. 停止并移除容器保留命名卷数据 make db-down DBpulsar4.2 # 4. 彻底重置删除容器与命名卷需显式确认 make db-reset DBpulsar4.2 CONFIRM1这些目标在 Makefile 中统一定义底层统一转发给pnpm db:env即 scripts/database-env.mjs。make db-verify 的底层执行链路理解验证命令的实际行为需要阅读 scripts/database-env.mjs 中verify分支的实现case verify: runCompose(recipe, [up, -d, --wait]); ensureBootstrap(recipe); for (const step of recipe.smoke.steps) { const command expandSmokeCommand(step.command, recipe); const output runCompose(recipe, [exec, -T, recipe.service, ...command], { capture: true }); if (step.expect !output.includes(step.expect)) throw new Error(Smoke check did not contain expected text: ${step.expect}\n${output}); console.log(OK ${step.name}); } break;执行链路共四步拉起环境docker compose up -d --wait等待 compose.yaml 中定义的健康检查通过即bin/pulsar-admin brokers healthcheck成功确保 broker 已就绪。引导检查ensureBootstrap(recipe)处理可选的初始化步骤Pulsar 配方未定义bootstrap字段直接跳过——因为 standalone 已自动就绪。执行冒烟步骤通过docker compose exec -T database进入容器运行bin/pulsar-client produce persistent://public/default/dbx-smoke --messages DBX smokeexpandSmokeCommand仅负责替换${DB_PORT}/${DB_PASSWORD}占位符本命令不含占位符原样执行。断言输出捕获命令输出用output.includes(step.expect)检查是否包含1 messages successfully produced通过则打印OK produce a smoke message不通过则抛出明确错误。配方校验方面scripts/database-env.mjs 还要求每个冒烟步骤都必须具备name、command数组与expect期望输出执行make db-check会逐条校验所有配方的结构与 Compose 文件合法性见 Makefile。在 dbx 中连接 Pulsar 4.2Pulsar 属于消息中间件类别。在 dbx 的连接类型目录 plugins/connection-types/profiles/catalog.yaml 中Apache Pulsar 被注册为mq类型默认端口 8080、默认主机127.0.0.1。容器启动后可用的连接信息如下参数值说明主机127.0.0.1配方默认绑定回环地址Broker 端口11400宿主映射对应容器 6650二进制协议Web 端口11401宿主映射对应容器 8080HTTP 管理命名空间public/defaultstandalone 自动创建认证无authentication: none需要说明的是make db启动后打印的dbx://connection/new预填深链依赖 scripts/database-env.mjs 中的DBX_DEEP_LINK_TYPES映射表而该表暂未包含pulsar因此脚本会输出DBX connection link: unavailable见 scripts/database-env.mjs。此时可手动在 dbx 新建连接中选择 Apache PulsarMQ 类别按上表填写主机与端口即可。小结本文从 deploy/database/pulsar/4.2/init/README.md 这一冒烟数据说明出发完整还原了 dbx 中 Pulsar 4.2 测试配方的运作机制standalone 自动预置public/default命名空间使persistent://public/default/dbx-smoke可零初始化直接发布make db-verify DBpulsar4.2的完整链路Compose 健康检查 → 容器内pulsar-client produce→ 断言1 messages successfully produced端口映射与连接参数宿主 11400/11401 对应容器 6650/8080本地无鉴权连接。这套配方与make db-list、make db-check等目标共同构成了 dbx 可复现的数据库验证体系也为后续在 dbx 中开发、测试 Pulsar 消息能力提供了标准化的本地环境。赞分享数据库开发者工具桌面应用CLIMCP 服务AI 应用【免费下载链接】dbx15MB轻量级跨平台数据库客户端、数据库管理工具。支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server 等。15MB, lightweight, cross-platform database client. Supports MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server and more.项目地址https://gitcode.com/t8y2/dbx点击查看免费下载相关推荐DBX 中的 Pulsar 4.2 测试环境standalone 部署与 DBX smoke 冒烟验证指南DBX 中的 Pulsar 4.2 测试环境standalone 部署与 DBX smoke 冒烟验证指南 DBX 仓库在 deploy/database/数据库客户端数据库桌面应用CLI后端MCP 服务AI 应用dbx 仓库中 Elasticsearch 6.8 冒烟测试环境make db-verify 与 dbx-smoke 索引验证实战dbx 仓库中 Elasticsearch 6.8 冒烟测试环境make db verify 与 dbx smoke 索引验证实战 导读 deploy/dat数据库开发者工具桌面应用CLIMCP 服务AI 应用DBX 仓库 ZooKeeper 3.9 测试环境Digest ACL 初始化与冒烟验证实战DBX 仓库 ZooKeeper 3.9 测试环境Digest ACL 初始化与冒烟验证实战 本文以仓库中 deploy/database/zookeeper数据库客户端数据库桌面应用CLI后端MCP 服务AI 应用上一篇【亲测免费】 基于51单片机DS18B20温度传感器设计的温控系统打造您的智能温度监测解决方案下一篇【免费下载】 探索OFDM技术一个完整的Matlab仿真资源【matlab下载】创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

工业热图异常检测:ResNet三步改造与温度域落地实践

工业热图异常检测:ResNet三步改造与温度域落地实践

简介:本资源是一份面向深度学习与网络安全方向研究者、高校学生及工业界算法工程师的学术型技术文档,聚焦解决传统自编码器异常检测模型易过拟合、误报率高的核心痛点。文中提出基于ResNet残差网络的新型异常检测架构,通过固定切分数据为A/B两…

2026/10/10 5:11:27 阅读更多 →
@nteract/actions 动作系统指南:nteract 核心 SDK 中 Redux 动作与 action creator 的完整解析

@nteract/actions 动作系统指南:nteract 核心 SDK 中 Redux 动作与 action creator 的完整解析

开发工具数据科学 【免费下载链接】archived-desktop-app The old electron based nteract notebook 项目地址: https://gitcode.com/gh_mirrors/nt/archived-desktop-app 点击查看 免费下载 nteract/actions 是 nteract 核心 SDK 中负责定义 动作常量(…

2026/10/10 5:10:27 阅读更多 →
Lit-LLaMA TPU 支持实战指南:在 Google Cloud TPU v4 上运行 LLaMA 推理

Lit-LLaMA TPU 支持实战指南:在 Google Cloud TPU v4 上运行 LLaMA 推理

人工智能大模型预训练微调LoRA模型量化 【免费下载链接】lit-llama Implementation of the LLaMA language model based on nanoGPT. Supports flash attention, Int8 and GPTQ 4bit quantization, LoRA and LLaMA-Adapter fine-tuning, pre-training. Apache 2.0-licensed. 项…

2026/10/10 5:10:27 阅读更多 →

最新新闻

杨幂×Prada:顶奢代言背后的选人逻辑与商业价值拆解

杨幂×Prada:顶奢代言背后的选人逻辑与商业价值拆解

关于杨幂成为Prada代言人这件事,圈内讨论热度一直没停过。不管是时装周前排看秀的镜头,还是广告大片释放出的状态,都让“顶奢代言”这个概念在当下的内娱市场里有了更具体的参照物。借着这个热点,我想认真聊聊这背后的逻辑&#x…

2026/10/10 5:46:40 阅读更多 →
Unison 语言中 Term 声明禁止携带哈希限定名:语法规则、解析器实现与转写测试验证

Unison 语言中 Term 声明禁止携带哈希限定名:语法规则、解析器实现与转写测试验证

编程语言编译器语言运行时开发工具 【免费下载链接】unison A friendly programming language from the future 项目地址: https://gitcode.com/gh_mirrors/un/unison 点击查看 免费下载 本文以 Unison 开源仓库中的转写(transcript)测试文档…

2026/10/10 5:46:40 阅读更多 →
PCA9422+STM32F405RG电源管理实战:寄存器配置与调试全解析

PCA9422+STM32F405RG电源管理实战:寄存器配置与调试全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:46:40 阅读更多 →
有效信息是博文生成的核心要素

有效信息是博文生成的核心要素

您提供的信息中没有有效的项目标题(当前显示为“无标题”),且相关热搜词和网络搜索内容均为空白。缺少核心输入,我无法生成围绕具体主题、场景和关键词展开的高质量原创博文。《无标题》不是一个可执行的项目主题,强行…

2026/10/10 5:46:40 阅读更多 →
colorlog 6.10.1 使用指南:为 Python 标准库 logging 接入 ANSI 彩色终端输出

colorlog 6.10.1 使用指南:为 Python 标准库 logging 接入 ANSI 彩色终端输出

【免费下载链接】context-hub 项目地址: https://gitcode.com/gh_mirrors/co/context-hub 点击查看 免费下载 导读 colorlog 是一个轻量的 Python 第三方库,它的作用是为 Python 标准库 logging 的处理器(handler)增加 ANSI 颜色…

2026/10/10 5:46:40 阅读更多 →
缩短招聘周期:从人才画像到Offer的11个高效策略

缩短招聘周期:从人才画像到Offer的11个高效策略

招聘周期拉长,用人部门催、候选人等不起、HR夹在中间两头受气——这是过去几年我在各类企业里反复看到的真实场面。尤其遇到急招岗位,从职位发布到人选入职动辄拖上三四十天,错过业务窗口不说,还经常出现“谈好的Offer被对手截胡”…

2026/10/10 5:45:40 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →