Дяденька я не настоящий сварщик. Просто раньше жрал большое ведро говна в виде монолита, сейчас жру 30 тарелочек говна в виде микросервисов.
У обоих конструкций есть косяки:
монолит - внутренняя связность и трудность масштабирования, т.к. нельзя взять и масштабировать отдельные части, только целиком.
микросервисы - тут дублирование кода, т.к. часть кода для разных микросервисов одинаковая.
Пока только читал, но не пробовал - гибрид монолит/микросервис.
Т.е. монолит, который определяет сам как общаться с другими своими частями:
func sendJSON(data) для внешней передачи данных или func sendMonolit(data) для внутренней.
Получается, что это монолит, отдельные части которого умеют общаться между собой через http.
Если обычно идет всё либо монолит, либо микросервисы, то тут все - это монолит, но в любой момент на лету можно переключить в режим микросервисов, на уровне конфига. И какой-то микросервис внутри монолита отключить, отправив сообщения на отдельный микросервис по необходимости.
Больше всего говна происходит из-за хреновой документации, но у программистов ручки в жопке, они иначе не умеют. Например, рисовать блок-схемы, UML и вот это вот все. Только недавно для себя открыл связку Joplin (для .md) + Draw io (для SVG), но она далека от идеала, т.к. мне нужны "if", "iframe" и "for" блоки, но такой роскоши у .md и .svg файлов нет. Как и нет Drag&Drop. Т.е. игру на svg/md-файлах написать стандартными средствами нельзя, нужно что-то еще подключать.
IT-юмор
7.5K постов53.3K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору