Size: a a a

Software Design/Architecture/Zen

2020 September 24

КГ

Константин Грачев... in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Мне нравится асинхронность ноды в этом плане. Если результат операции не важен - вызвал асинхронно - и забыл - пошёл следующие операции выполнять))
Асинк ноды глушит ошибки?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Константин Грачев
Асинк ноды глушит ошибки?
Он их в ивент-луп кладёт. Вообще, забавно было наблюдать, когда эксепшн из одного запуска лямбды "вываливался" (асинхронно, не мешая ничему) совершенно в другом запуске этой функции 😂
источник

ВУ

Валентин Удальцов... in Software Design/Architecture/Zen
ну а что мешает также в пыхе делать, не понимаю)
catch ($e) { $bus->dispatch($e) } 🤣

имхо ожидаемые ошибки должны быть ивентами, а не экспешнами. что в ноде, что не в ноде
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Валентин Удальцов
ну а что мешает также в пыхе делать, не понимаю)
catch ($e) { $bus->dispatch($e) } 🤣

имхо ожидаемые ошибки должны быть ивентами, а не экспешнами. что в ноде, что не в ноде
И ждать, выполнения ->dispatch($e) ? А если он внутри ещё с эксепшеном вылетит - внутри кэтча ещё один трай писать? Не, спасибо, я лучше в ноде с асинхронным unhanded promise rejection
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Всем привет! А скажите как решить в микросервисной архитектуре следующую проблему. Есть множество сервисов, некоторые ходят в другие сервисы, ходят они через domain name. Произошла авария и отвалился (в swarm / kubernetes ) dns резолвинг. Сервисы работают но некоторые вызовы API возвращают ошибки. Как решать проблему? Делать хелчеки на уровне оркестратора во все сервисы в которые может ходить каждый другой сервис. Делать хелчеки внутри приложения на каждый другой сервис?
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Сделать хелсчек dns'a? поднять пару dns'ов чтобы падение одного не ломало всё?)
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Нет - не понимаю. Причем тут поднимать что-то.
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
притом что когда что-то упало его надо поднять
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
или такой задачи нет?
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
оно не упало. Оно работает. Просто произошла авария, после аварии часть контейнеров (в оркестраторе) перезагрузилась переехала на другие ноды. НО, часть контейнеров осталась работать и у них закешировались старые адреса контейнеров
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Дальше на эти зомби контейнеры придут запросы и они не смогут достучаться до перезапущенных контейнеров.
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Конкретно такое сейчас у нас происходит в docker swarm
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Кеш на уровне приложения, или это swarm чудит?
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Визуально все ок - а по факту ничего не работает. Swarm - чудит
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Ну те там настроены хелсчеки всех сервисов. Они говорят ок сервисы живы. Но по факту сервисы не могут между собой общаться
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
и перезапуск решает проблему. Но ее как-то надо детектить
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Если сделать хелсчеки друг друга то при аварии есть риск никому не подняться)
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Aleksander Melnichnikov
оно не упало. Оно работает. Просто произошла авария, после аварии часть контейнеров (в оркестраторе) перезагрузилась переехала на другие ноды. НО, часть контейнеров осталась работать и у них закешировались старые адреса контейнеров
а зачем их кешировать. Вам либо хотрелоад, либо сервер конфигураций
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Ну условно у хелсчеков есть starttime
источник

AM

Aleksander Melnichni... in Software Design/Architecture/Zen
Apache DOG™
а зачем их кешировать. Вам либо хотрелоад, либо сервер конфигураций
Это не мы делаем. Так работает swarm.
источник