Гайз, пытаюсь найти причину дисконнекта между сервисом и ребитом. Сервис

- AWS NLB - Istio ingress - RMQ 3.12.2 (аналогично в 3.12.1). По какой-то причине, раз в 10 минут (иногда через минуту, иногда через 8-9 и т.п.) происходит такое:

2023-07-23 22:17:40.767410+00:00 [error] <0.3329.0> closing AMQP connection <0.3329.0> (10.131.2.7:35368 -> 10.129.2.25:5672 - node2-RemotePhysiologicMonitoring/Consumer):
2023-07-23 22:17:40.767410+00:00 [error] <0.3329.0> missed heartbeats from client, timeout: 10s

и коннекшн закрывается. Причём я в wireshark смотрю - сервис прилежно шлёт heartbeat'ы, сервер отвечает. Такое впечатление, что коннекшен почему-то закрывает RMQ. Со стороны istio тоже ничего подозрительного - штатно открывает/закрывает TCP...

Может есть какие идеи? Как найти причину?

9 ответов

9 просмотров

Вы только со стороны клиента трафик смотрите? Возможно хербиты у вас только до балансера ходят а дальше грусть

Andrew- Автор вопроса
Aleksey Barabanov
Вы только со стороны клиента трафик смотрите? Возм...

валидно, но остальной трафик ходит без проблем в это же время - сообщения могу паблишить, консьюмер их получает... хартбиты какие-то особенные в этом смысле?

Andrew
валидно, но остальной трафик ходит без проблем в э...

Погодите, если паблишите/консьюмите - что за соединение разваливается?

Andrew- Автор вопроса
Aleksey Barabanov
Погодите, если паблишите/консьюмите - что за соеди...

Connection которое. Его .net либа поднимает сразу же после разрыва назад.

Andrew
Connection которое. Его .net либа поднимает сразу ...

Вы в одном соединении и паблишите и консьюмите?

Andrew- Автор вопроса
Andrew
Да (сделал тестовую прогу для этого)

Так не надо. Отдельное соединение, канал на каждый процесс паблишинга/консьюминга нужно

Andrew- Автор вопроса
Aleksey Barabanov
Так не надо. Отдельное соединение, канал на каждый...

Пробовал только паблишить - эффект тот же... Та да, я тоже думаю, что дело в промежуточных балансировщиках, но пока не могу понять, где и что же не так. У меня там envoy (не хапрокся), попробую keepalive покрутить ему...

Andrew- Автор вопроса

Fixed. Проблема была на стороне istio, а именно того, как прописаны ингресы - неправильный конфиг - неправильный селектор у сервисов, трафик не туда ходил.

Похожие вопросы

Обсуждают сегодня

Вот такая неприятность на stable и ea версиях: werf helm --namespace s4c upgrade --install --atomic --timeout 5m --set s4c.version=839185f3 --set s4c.deployEnv=staging -f d...
citius
6
Есть Pipeline для GitLab Runner (executor = "shell") В нём есть: default: before_script: - set -eo pipefail - source "$(~/bin/trdl use werf 2 stable)" - source...
Aleksandr Karabanov
1
Подскажите пожалуйста, задача рассмотреть что будет быстрее работать для передачи данных МЕЖДУ ДВУМЯ МИКРОСЕРВИСАМИ RabbitMQ или Kafka(то есть время на запрос-ответ) при перед...
Михаил Шевелев
2
Всем привет! Подскажите, пожалуйста, почему не применяются настройки? Хочу задеплоить вот такой кластер в кубер. apiVersion: rabbitmq.com/v1beta1 kind: RabbitmqCluster metad...
Игорь Самарский
1
А где эта переменная в докерфайле используется, в конце сборки? Просто если таким же образом пропихнуть токен для нпм, то он используется в одном из первых же слоев, соответст...
citius
4
Всем привет А как правильно прокинуть креды для NPM для авторизации в корпоративном регистри? Я как ни пробую, все как-то через одно место выходит, и все не-гитерминистично. ...
citius
3
Всем привет, подскажите, пожалуйста, что произойдёт при вызове метода queue_declare с одним и тем же именем очереди, но с разными остальными параметрами? Создастся ли новая оч...
Sergey
4
господа бекендеры и зайцы), есть проблема - реализация уведомлений, чатов и подобного. я фронтендер и мне бек тупо скинул доступы к rabbitMq. И как я понял один из вариантов,...
Raymont 🍙
4
у вас прям каждый раз, каждую сборку меняется токен для авторизации?
Trin Zotoff
3
как из werf.yaml достучаться до values в helm?
Max Bazuev [JS/C#]
3
Карта сайта