Моя проблема в том, что мне нужно увеличить значение max_payload, которое получает NATS, но я понятия не имею, где это сделать.
В проекте используется Moleculer, а NATS создается как контейнер с докером.
Когда я пытаюсь сделать запрос размером более 1 МБ, 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);
Пример кода конфигураций Moleculer Broker:
const brokerConfig: BrokerOptions = {
...,
transporter: "NATS",
transit: {
maxQueueSize: 100000,
disableReconnect: false,
disableVersionCheck: false,
},
...
}
Пример кода конфигурационного файла nats:
{
max_payload: 1000000
}
Ошибка при запуске докера с файлом конфигурации NATS:
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.