своя БД у каждого сервиса? Есить ли какие-то общие utility пакеджи? как общаются МС сервисы друг с другом? По http или есть какая-то общая шина событий или очереди? Приходится ли делать распределенные транзакции?
Были общие бд для нескольких мс с разделением на уровне схем. Распределённые транзакции я не застал, но не исключаю что они уже появились, и если так, то это скорее всего саги В тех проектах, в которых я работал и тимлидил, был монорепозиторий, так что шаринг кода не был бы проблемой в любом случае (но я не вижу проблемы ни в вынесении общего кода в пакеты, ни в дублировании какой-то части кода) В качестве шины для общения мс были где-то натс, где-то редис. А в дев среде все мс вообще запускались в одном процессе Так как был выбран правильный тулинг, все эти изменения (замена натса на редис, например) происходили редактированием пары строк в конфиге. Ну и протокол взаимодействия мс между собой, heartbit, выбор стратегии баланса, circuit breaker, tracing и пр. - всё это вынесено в конфиги фреймворка и настраивается элементарно
Здорово! А деплоили вы все это в k8s? Или serverless тоже был?
Обсуждают сегодня