轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
ihippik/wal-listener
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

wal-listener Docker 镜像下载 - 轩辕镜像

wal-listener 镜像详细信息和使用指南

wal-listener 镜像标签列表和版本信息

wal-listener 镜像拉取命令和加速下载

wal-listener 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

wal-listener
ihippik/wal-listener

wal-listener 镜像详细信息

wal-listener 镜像标签列表

wal-listener 镜像使用说明

wal-listener 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于帮助实现事件驱动架构的服务。
1 收藏0 次下载activeihippik镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

wal-listener 镜像详细说明

wal-listener 使用指南

wal-listener 配置说明

wal-listener 官方文档

WAL-Listener Docker镜像文档

1. 镜像概述和主要用途

WAL-Listener是一个用于实现事件驱动架构(Event-driven Architecture)的服务镜像。其核心功能是通过PostgreSQL数据库的逻辑解码(Logical Decoding)能力,实时订阅数据库变更事件,并将这些事件可靠地发布到NATS Streaming服务器。该服务支持事务性消息发布,确保数据库模型变更与事件发布在同一事务中完成,从而维持系统数据一致性。

2. 核心功能和特性

2.1 核心功能

  • 基于PostgreSQL逻辑解码:利用PostgreSQL的WAL(Write-Ahead Logging)逻辑解码机制,捕获数据库表结构及数据的INSERT/UPDATE/DELETE变更
  • 事务性消息发布:确保事件发布与数据库事务同步执行,避免数据变更与事件发布不一致
  • NATS Streaming集成:原生支持将变更事件发布到NATS Streaming服务器,实现高可靠的事件传递
  • 配置驱动:通过配置文件灵活定义监听规则、数据源连接参数、目标消息服务器配置等

2.2 关键特性

  • 轻量级部署:容器化设计,支持Docker/Kubernetes环境快速部署
  • 低侵入性:无需修改PostgreSQL业务表结构,基于数据库日志实现变更捕获
  • 高可配置:支持自定义事件格式、过滤规则及重试策略

3. 使用场景和适用范围

3.1 典型使用场景

  • 事件驱动架构系统:作为事件源(Event Source)组件,连接数据库与事件总线
  • 实时数据同步:需将PostgreSQL数据变更实时同步至缓存、搜索服务或其他数据库的场景
  • 微服务通信:实现微服务间基于事件的松耦合通信,降低服务依赖
  • 数据变更审计:记录数据库变更历史,用于审计、追踪或数据恢复

3.2 适用范围

  • 基于PostgreSQL的业务系统(需PostgreSQL 10+,且启用逻辑解码)
  • 采用事件驱动架构的微服务集群
  • 需要实时响应数据库变更的业务场景

4. 使用方法和部署说明

4.1 前提条件

  • 运行中的PostgreSQL数据库:需配置wal_level=logical(启用逻辑解码),并创建具有REPLICATION权限的用户
  • 运行中的NATS Streaming服务器:需提前配置集群地址、认证信息(如有)
  • 配置文件:需准备服务配置文件(参考示例配置)

4.2 Docker容器运行

通过挂载本地配置文件启动容器,命令示例:

# 假设本地配置文件路径为 ./config.yml
docker run -v $(pwd)/config.yml:/app/config.yml ihippik/wal-listener:latest

参数说明:

  • -v $(pwd)/config.yml:/app/config.yml:将本地配置文件挂载到容器内默认配置路径/app/config.yml,服务启动时自动加载该配置

4.3 Kubernetes部署

4.3.1 部署清单示例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: wal-listener
  namespace: dev  # 部署命名空间,需提前创建
spec:
  replicas: 1  # 单副本部署(根据业务需求调整)
  strategy:
    rollingUpdate:
      max***: 1        # 滚动更新时允许超出期望副本数的最大Pod数量
      maxUnavailable: 0  # 滚动更新时允许不可用的最大Pod数量(保证服务不中断)
    type: RollingUpdate  # 采用滚动更新策略
  selector:
    matchLabels:
      app: wal-listener  # 匹配标签为"app: wal-listener"的Pod
  template:
    metadata:
      name: wal-listener
      labels:
        app: wal-listener  # Pod标签
    spec:
      containers:
        - name: app
          image: ihippik/wal-listener:latest
          imagePullPolicy: IfNotPresent  # 本地存在镜像时不拉取
          command: ["./app"]  # 启动命令
          args: ["--config", "/var/configuration/config.configmap.yml"]  # 指定配置文件路径
          volumeMounts:
            - name: "config"        # 挂载配置卷
              mountPath: "/var/configuration"  # 容器内配置文件目录
              readOnly: true        # 配置文件只读
          resources:
            requests:  # 资源请求
              memory: "64Mi"
              cpu: "100m"
            limits:    # 资源限制
              memory: "64Mi"
              cpu: "100m"
      volumes:
        - name: "config"  # 定义配置卷(基于ConfigMap)
          configMap:
            name: "wal-listener"  # 引用的ConfigMap名称(需提前创建)
            items:
              - key: "config.configmap.yml"  # ConfigMap中的配置文件key
                path: "config.configmap.yml"  # 卷内文件名

4.3.2 部署步骤

  1. 创建ConfigMap:将配置文件内容存入Kubernetes ConfigMap(示例中名称为wal-listener)
  2. 应用部署清单:执行kubectl apply -f wal-listener-deployment.yaml
  3. 验证部署:通过kubectl logs -f <pod-name> -n dev查看服务日志,确认连接正常

5. 配置说明

WAL-Listener的行为完全由配置文件驱动,需在启动时通过挂载方式将配置文件传入容器。配置文件需包含PostgreSQL连接信息、NATS Streaming连接信息、监听规则等核心参数。

5.1 配置文件获取

***示例配置文件可参考:config_example.yml

5.2 配置文件挂载要求

  • 容器内配置文件路径可通过启动参数--config指定(如--config /var/configuration/config.yml)
  • 需确保容器对挂载路径有读权限(建议设置readOnly: true)

6. 注意事项

  • PostgreSQL配置:需确保数据库wal_level=logical,且监听用户具有REPLICATION和目标数据库的SELECT权限
  • NATS Streaming依赖:服务启动前需确保NATS Streaming服务器可访问,否则将阻塞事件发布
  • 配置文件更新:修改配置文件后需重启容器或通过Kubernetes滚动更新使配置生效
查看更多 wal-listener 相关镜像 →
freelawproject/courtlistener logo
freelawproject/courtlistener
by Free Law Project
CourtListener是一个旨在提升法律系统透明度和可访问性的平台。
4100K+ pulls
上次更新:2 天前

常见问题

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

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

轩辕镜像免费版与专业版有分别支持哪些镜像?

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

流量耗尽错误提示

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

410 错误问题

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

manifest unknown 错误

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

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

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

查看全部问题→

轩辕镜像下载加速使用手册

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

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.