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

notifications-push 是一个微服务,用于提供内容发布或变更的推送通知。该微服务消费特定的 Apache Kafka 主题组,然后为消费的 Kafka 消息中包含的每个文章或内容列表推送通知。
适用于需要实时获取内容发布或变更通知的系统,如内容管理平台、实时内容展示应用、内容监控工具等,帮助下游服务及时响应内容更新。
curl [***] | sh go get -u github.com/Financial-Times/notifications-push cd $GOPATH/src/github.com/Financial-Times/notifications-push dep ensure -vendor-only go test ./... -race go install
ssh -L 2181:localhost:2181 -L 9092:localhost:9092 username@<host>
127.0.0.1 <private_dns>
export NOTIFICATIONS_RESOURCE=content \ && export KAFKA_ADDRS=localhost:2181 \ && export GROUP_ID=notifications-push-yourtest \ && export TOPIC=PostPublicationEvents \ && export NOTIFICATIONS_DELAY=10 \ && export API_BASE_URL="[***]" \ && export CONTENT_TYPE_WHITELIST="application/vnd.ft-upp-article+json,application/vnd.ft-upp-content-package+json" \ && export CONTENT_URI_WHITELIST="^[***]|wordpress|content)-(article|collection|content-placeholder)-(transformer|mapper|unfolder)(-pr|-iw)?(-uk-.*)?\\.svc\\.ft\\.com(:\\d{2,5})?/(content)/[\\w-]+.*$" \ && ./notifications-push
./notifications-push \ --notifications_resource="content" \ --consumer_addr="localhost:2181" \ --consumer_group_id="notifications-push" \ --topic="PostPublicationEvents" \ --notifications_delay=10 \ --api-base-url="[***]" \ --api_key_validation_endpoint="t800/a" \ --content_type_whitelist="application/vnd.ft-upp-article+json,application/vnd.ft-upp-content-package+json" \ --content_uri_whitelist="^[***]|wordpress|content)-(article|collection|content-placeholder)-(transformer|mapper|unfolder)(-pr|-iw)?(-uk-.*)?\\.svc\\.ft\\.com(:\\d{2,5})?/(content)/[\\w-]+.*$"
注:运行
./notifications-push -h获取完整选项列表
docker build -t coco/notifications-push .
docker run --env NOTIFICATIONS_RESOURCE=content \ --env KAFKA_ADDRS=localhost:2181 \ --env GROUP_ID="notifications-push-yourtest" \ --env TOPIC="PostPublicationEvents" \ --env NOTIFICATIONS_DELAY=10 \ --env API_BASE_URL="[***]" \ --env CONTENT_TYPE_WHITELIST="application/vnd.ft-upp-article+json,application/vnd.ft-upp-content-package+json" \ --env CONTENT_URI_WHITELIST="^[***]|wordpress|content)-(article|collection)-(transformer|mapper|unfolder)(-pr|-iw)?(-uk-.*)?\\.svc\\.ft\\.com(:\\d{2,5})?/(content)/[\\w-]+.*$" \ coco/notifications-push
| 环境变量 | 命令行参数 | 描述 |
|---|---|---|
| NOTIFICATIONS_RESOURCE | --notifications_resource | 通知资源类型(如 "content") |
| KAFKA_ADDRS | --consumer_addr | Kafka 地址 |
| GROUP_ID | --consumer_group_id | 消费者组 ID |
| TOPIC | --topic | 要消费的 Kafka 主题 |
| NOTIFICATIONS_DELAY | --notifications_delay | 通知延迟时间(秒) |
| API_BASE_URL | --api-base-url | API 基础 URL |
| CONTENT_TYPE_WHITELIST | --content_type_whitelist | 允许的内容类型列表,逗号分隔 |
| CONTENT_URI_WHITELIST | --content_uri_whitelist | 允许的内容 URI 正则表达式 |
| API_KEY_VALIDATION_ENDPOINT | --api_key_validation_endpoint | API 密钥验证端点 |
通过 GET 请求访问 /{resource}/notifications-push 端点,订阅者可消费指定资源的通知推送流。
请求示例:
curl -i --header "x-api-key: «api_key»" [***] curl -X GET "http://localhost:8080/content/notifications-push?monitor=true"
参数:
type:指定接收通知的内容类型,可选值:Article、ContentPackage、Audio、All(默认 Article)monitor:设为 true 时返回 publishReference 和 lastModified 属性(用于内部监控)响应示例:
data: [] data: [{"apiUrl":"[***]","id":"[***]","type":"[***]","title":"For Ioana & Ioana only;","standout":{"scoop":true}}] data: []
注:空
[]行为心跳包,每 30 秒发送一次以保持连接。
GET 请求访问 /__history 端点,返回最近从 Kafka 队列消费的通知历史。
响应示例:
[ { "apiUrl": "[***]", "id": "[***]", "type": "[***]", "publishReference": "tid_jwhfe7n6dj", "lastModified": "2016-11-07T13:59:44.950Z" } ]
GET 请求访问 /__stats 端点,返回当前消费推送流的订阅者统计信息。
响应示例:
{ "nrOfSubscribers": 2, "subscribers": [ { "addr": "127.0.0.1:61047", "since": "Nov 7 14:26:04.018", "connectionDuration": "2m41.693365011s", "type": "dispatcher.standardSubscriber" } ] }
/__notifications-push/ 路径下工作,因 Vulcan 不支持 HTTP 长轮询,通过 Varnish 转发到固定端口解决。示例客户端代码位于 bin/client 目录。
应用使用 go-logger,日志文件在 app.go 中初始化。



免费版仅支持 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