如何解决NATS 与分子如何更改 NATS max_payload 值?
我的问题是我需要增加 NATS 接收到的 max_payload 值,但我不知道在哪里可以做到。
该项目正在使用 Moleculer,并且 NATS 被创建为带有 docker 的容器。
当我尝试发出大于 1MB NATS 的请求时:
ERROR - NATS error. 'Maximum Payload Violation
坞站内部记录 NATS 返回:
cid:1 - maximum payload exceeded: 1341972 vs 1048576
我尝试了以下项目:
- 在 Moleculer broker 配置中更改传输器 (https://moleculer.services/docs/0.12/transporters.html);
- 为 NATS 添加配置文件以修改一些选项 (https://hub.docker.com/_/nats);
const brokerConfig: brokerOptions = {
...,transporter: "NATS",transit: {
maxQueueSize: 100000,disableReconnect: false,disabLeversionCheck: false,},...
}
{
max_payload: 1000000
}
当我使用 NATS 配置文件运行 docker 时出错:
docker: Error response from daemon: OCI runtime create Failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/home/matheus/nats-server.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/08959b2fce0deb2abea27e103f7f4426b7ed6f3ef64b214f713ebb993c2373e6/merged\\\" at \\\"/var/lib/docker/overlay2/08959b2fce0deb2abea27e103f7f4426b7ed6f3ef64b214f713ebb993c2373e6/merged/nats-server.conf\\\" caused \\\"not a directory\\\"\"": unkNown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type. error Command Failed with exit code 125.
解决方法
您应该为 NATS 创建一个 configuration file。并将其作为 Docker 卷推送到容器并将 command
设置为 -c nats-server.conf
nats-server.conf
max_payload: 4Mb
启动容器
docker run -d -p 4222:4222 -v ~/nats-server.conf:/nats-server.conf nats -c /nats-server.conf
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。