
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
当多个服务直接向同一Elasticsearch服务器写入数据时,极易产生冲突。本镜像作为单一写入者,通过消费RabbitMQ消息实现对Elasticsearch的统一写入,有效避免数据冲突。服务无需知晓Elasticsearch服务器凭证,同时便于构建Elasticsearch集群。
适用于多服务需要向同一Elasticsearch服务器写入数据的场景,尤其适合:
服务需通过RabbitMQ发布消息至ES-Writer,消息需满足以下要求:
$exchange(自定义交换机名称)$routingKey(自定义路由键)fixtures/indices/indices-create.json(创建索引)fixtures/indices/indices-drop.json(删除索引)fixtures/portal/portal-index.json(文档索引)fixtures/portal/portal-update.json(文档更新)fixtures/portal/portal-update-by-query.json(按查询更新)fixtures/portal/portal-delete.json(文档删除)fixtures/portal/portal-delete-by-query.json(按查询删除)参考文档:https://www.elastic.co/guide/en/elasticsearch/reference/5.2/docs-bulk.html
ES-Writer启动参数及环境变量配置:
/path/to/es-writer -url RABBITMQ_URL<STRING=amqp://go1:go1@127.0.0.1:5672/> # RabbitMQ连接URL -kind RABBITMQ_KIND<STRING=topic> # RabbitMQ交换机类型 -exchange RABBITMQ_EXCHANGE<STRING=events> # 消息交换机名称 -routing-key RABBITMQ_ROUTING_KEY<STRING=es.writer.go1> # 消息路由键 -consumer-name RABBITMQ_CONSUMER_NAME<STRING=es-writer> # 消费者名称 -queue-name RABBITMQ_QUEUE_NAME<STRING=es-writer> # 队列名称 -url-contains URL_CONTAINS<STRING> # URL包含字符串过滤(示例:`award:`) -url-not-contains URL_NOT_CONTAINS<STRING> # URL不包含字符串过滤(示例:`award:`) -prefetch-count RABBITMQ_PREFETCH_COUNT<INT=50> # 预取消息数量 -es-url ELASTIC_SEARCH_URL<STRING=http://127.0.0.1:9200/?sniff=false> # Elasticsearch连接URL -refresh true # 可选,允许值:true、wait_for,默认true(索引刷新策略) -admin-port ADMIN_PORT<STRING=:8001> # 管理端口 -debug DEBUG<BOOL=true> # 调试模式,默认false -single-active-consumer SINGLE_ACTIVE_CONSUMER<BOOL=true> # 单活跃消费者模式,默认false(参考RabbitMQ文档) -bulk-timeout BULK_TIMEOUT=5m # 批量操作超时时间
以下请求类型不支持批量处理,需限制使用:
/\_update_by_query(按查询更新)/\_delete_by_query(按查询删除)PUT /index_name(创建索引)DELETE /index_name(删除索引)bash# 启动Elasticsearch docker run -d -p 9200:9200 --rm --name es docker.xuanyuan.run/elasticsearch:5-alpine # 启动RabbitMQ(带管理界面) docker run -d -p 5672:5672 -p ***:*** --rm --name rabbitmq docker.xuanyuan.run/rabbitmq:3-management # 运行测试 go test -race -v ./...
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务