Как стать автором
Обновить

Комментарии 20

  1. Продумывание верной архитектуры

Столько Redis'ов на схеме - это кластер имеется в виду?. Или реально у каждого сервиса по своему отдельному Redis (standalone или cluster?

сразу, подумал о редисочном поле.

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

Подразумевается кластер, просто явно не описано)

Подобная архитектура позволяет писать и поддерживать код без дополнительных усилий, ну почти, если сравнить с монолитом.

Это шутка такая, да?

Согласен, не корректное выражение! Тут имелось ввиду при командной разработке, данная архитектура просто поддерживается не мешая друг другу

"Это не совсем способ, а быстрее подход."

Статья обработана синонимайзером?)

без использования) Первый раз писал статью, думал поможет лучше самому разобраться в теме

Ну недоступен один сервис. А точнее одна ДБ - авторизации, и? :-)
Причем в следствии "бага в софте ДБ" который вызвал "багу в данных системных объектов ДБ" которые "честно размножились" на все экземпляры ДБ.... :-)

Кстати, не подумал про БД авторизации.. наверное так как не отвечал никогда за сервис авторизации.
Тут надо изучить тему, не готов ответить пока :-)

Что используете для реализации материализированного представления данных? Например нужно отдать фронтенду список инвойсов (+ валюту инвойса) с их инвойсПродуктами (+ название продукта). Но в них есть ссылки на ресурсы других микросервисов (валюты, продукты).

используется АПИ шлюз, кафка и кеширование для редко меняющихся данных. Шлюз собирает данные по сервисам, кафка в основном распространяет данные для обновлений в сервисах которые не связаны со шлюзам (эта в основном фоновые задачи, рассчеты, заполнение базы)

Данный вопрос наверное больше относится к теме паттерн микросервисной архитектуры, о которой планирую написать следующую статью, за одно и разобраться более детально. Но могу ошибиться

Желательно достигать значений близко 99.99%.

Ставки падают, сорок лет назад люди стремились к (и воплощали) nine nines.

Это мой первый опыт и пока требования четыре девятки, думаю что есть компании у кого требования выше

Доберётесь до реализации саги

Или реализации отчётов из всех бд

Расскажите ещё раз)

Мы работаем с выплатами, так как они не частые, то блокируем создание новой транзакции пока не завершится старая. Есть время когда на фронте просто невозможно создать выплату

Это не сага

Это транзакция в рамках одного модуля/сервиса

Давайте будем честны, схемы приведенные автором - сферический конь в вакууме. Отвал одного из сервисов . Не беда, если ошибка обработанна. А вот гонять гигабайты трафика внутри сети это огромная нагрузка на инфраструктуру. Которая нужна.... Ни за чем.

Пример - нужно провести платеж через банкинг и потом получить ответ . Сайт или клиент , отправляет запрос , смотрит ответ если есть проблемы , повторяет через время , после нескольких попыток - создаёт тикет в поддержку. И создаётся задача на планировщик который опрашивает пс. Ошибки в логе приложения , задача выполняется, нахрена усложнять простые вещи .

Всегда при внедрении микросервисов нагрузка ложится на инфраструктуру. И трафик возрастает просто до диких объемов. Когда нужно передать событие внутри приложения, это вызов метода. Тут же нужно отправить сообщение а кафку, или апи , или ещё чего-нибудь. То есть добавляем дополнительный узел отказа.

Вообще видел таких умников , раздувают технологии, потом увольняются... А мне все это расхлёбывать

Может, конечно, что-то не корректно, но это не выдуманная архитектура, а то что работает. В опыте это первый мой проект, и тут я встретил подобное, что мне очень удобно в плане разработки. У каждого разработчика своя ответственность, он ни с кем не конфликтует. Плюс логика разделена, за платежи отвечает один сервис, за обновление и синхронизацию другой и так далее. Разве не удобно

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации