170 похожих чатов

Ещё плюс - можно выпиливать или заменять куски прямо вот

частями, причём это почти бесплатно
Хотите новую реализацию системы рекомендаций? Да без проблем, будет сделано без оглядки на остальной код. Не нужен больше этот модуль? Ок, просто убираем его, ничего не ломая

26 ответов

20 просмотров
Алексей-Попов Автор вопроса

Low coupling и high cohesion - прямо вот жирные плюсы микросервисов

Почему нельзя разрабатывать монолит на тех же принципах? Ну и традиционно, почему именно микросервисы, а не другие подходы к распределённым приложениям

Для меня самый очевидный плюс (при правильном менеджменте) что разные команды деливерать код и отвечают только за свой небольшой участок проекта. Это позволяет намного быстрее выкатывать новые фичи

А на сколько хорошо при этом поддерживать старые, когда есть 100500 сервисов, написанных в разном стиле, с разной архитектурой?

а в чём проблема писать вместо сервисов плагины?

Алексей-Попов Автор вопроса

Можно, я не запрещаю Но микросервисы провоцируют к такому подходу, а монолит позволяет его использовать

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

Просто звучит, как костыль.

Алексей-Попов Автор вопроса

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

Алексей-Попов Автор вопроса

Что именно звучит как костыль? 😳

Использование микросервисов просто как провокатор для разработки приложения на low coupling и high cohesion

Что мешает делать тоже в монолите?

То, что в день 20-40 pr и конфликты в них не избежать

Алексей-Попов Автор вопроса

Не вижу, в чём костыльность То есть мы обсуждаем плюсы, я привожу пример, а ты говоришь, что это не пример плюса, а костыль 😒

плагин это сомостоятельная программа которая динамический может быть подключена к основной программе через единый интерфейс. Так добавляются фитчи

Алексей-Попов Автор вопроса

Ну а чем это лучше микросервиса?

Откуда будут конфликты, если каждая команда будет работать над своей частью монолита?

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

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

я не говорю не возможно. Но в микросервисах это проще.

Ну и + усложнения логгирования, мониторинга, отладки и развёртывания

Алексей-Попов Автор вопроса

Этим всем должен заниматься фреймворк, уже решённые задачи

к плюсам обычно микросервисов относят переиспользование сервисов в разных проектах

Алексей-Попов Автор вопроса

Это значит, что его нельзя отдельно масштабировать? Что если он упадёт, то упадёт всё? Что если он реализован с ошибкой, откатывать надо всё приложение?

Почему всё приложение? Ты знаком с понянием динамической библиотеки?

Алексей-Попов Автор вопроса

Ты хочешь сказать, что сегфолт в (условно) dll не обрушит основной процесс?

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта