本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
该组件接收来自mu-authorization的原始delta消息,并将其转发给感兴趣的实体,是mu.semte.ch微服务架构中实现变更通知传递的关键组件。
适用于mu.semte.ch微服务生态系统中需感知数据变更的场景:
delta-notifier需接收mu-authorization的消息并发送至其他服务。因直接使用docker-compose的link选项会形成循环依赖(some-service -> mu-authorization -> delta-notifier -> some-service),建议在docker-compose注释中记录消费delta服务的服务,确保应用流程清晰。
配置mu-authorization与mu-delta-notifier的详细信息见mu-authorization文档。当前可在mu-authorization的配置目录(通常为config/authorization/)添加delta.ex文件,内容如下:
defmodule Delta.Config do def targets do [ "[***]" ] end end
docker-compose中默认包含delta-notifier的配置如下:
deltanotifier: image: semtech/mu-delta-notifier volumes: - ./config/delta:/config
接收服务需通过config/delta/rules.js配置。该文件格式可能迭代,但核心目标是使消费服务能一致接收特定格式消息,通过resourceFormat键选择格式。
以下是连接资源服务的config/delta/rules.js示例:
export default [ { match: { // 元素格式为 {subject,predicate,object} // predicate: { type: "uri", value: "[***]" } }, callback: { url: "[***]", method: "POST" }, options: { resourceFormat: "v0.0.0-genesis", gracePeriod: 1000, ignoreFromSelf: true } } ]
导出的数组包含多个规则定义,每个定义包含:
match:消息匹配规则(指定键需匹配,未指定键忽略)
subject:匹配主语(可指定type和value)predicate:匹配谓语(可指定type和value)object:匹配宾语(可指定type和value)callback:通知目标配置
url:接收通知的服务URLmethod:发送通知的HTTP方法options:转发选项
resourceFormat:消息格式版本(不可删除字段,可按需过滤)gracePeriod:延迟发送时间(毫秒),用于合并短时间内的变更ignoreFromSelf:是否忽略目标服务自身发起的变更(基于主机名判断)通过options.resourceFormat指定消息格式,版本需完全匹配字符串。
最新格式,未来可能扩展授权等功能。值编码遵循json-sparql规范RDF术语编码。示例:
[ { "inserts": [ { "subject": { "type": "uri", "value": "[***]" }, "predicate": { "type": "uri", "value": "[***]" }, "object": { "type": "uri", "value": "[***]" } }, { "subject": { "type": "uri", "value": "[***]" }, "predicate": { "type": "uri", "value": "[***]" }, "object": { "type": "literal", "value": "[***]", "datatype": "[***]" } } ], "deletes": [] } ]
初始PoC格式,示例:
{ "delta": { "inserts": [ { "s": "[***]", "p": "[***]", "o": "[***]" } ], "deletes": [] } }
任何假值不会向消费服务发送变更三元组,适用于仅需触发数据库状态检查的场景。
通过设置环境变量启用调试日志:
DEBUG_DELTA_SEND:记录发送给客户端的所有delta消息DEBUG_DELTA_MATCH:记录每个目标块的检查事件DEBUG_TRIPLE_MATCHES_SPEC:详细记录匹配规则的三元组,排查请求未发送问题鼓励社区贡献以完善服务功能。可Fork仓库进行实验,通过issue或PR分享结果;如需讨论扩展方向,欢迎提交issue。
免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429