Pull to refresh

Comments 6

И никогда не начинайте проект с микросервисной архитектуры просто так.

Вполне возможно MVP можно начать с монолита, разделенного по модулям. Это сэкономит много денег и нервов. Попробуйте -не пожалеете :)

А смысл делать какую-либо архитектуру просто так? :) Монолит монолиту тоже рознь и внутренняя архитектура может разительно отличаться от другой.

Модульная архитектура ведь не панацея, монолит буквально провоцирует разработчика нарушать границы модулей, переиспользовать компоненты и реализацию, кто-то из-за недостатка опыта, кто-то "временно", чтобы быстрее выкатить функционал (потом исправим...).

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

Согласен, но

  • То что для модуля реализуется должно быть видно только модулю

  • Модуль публикует для остальных только интерфейсы

  • Разработчики обращаются только к интерфейсам

  • На ревью за говнокод по рукам

А так же если все так плохо и надо по-быстрому сделать говнокод, то сделать страшную какашку с микросервисами еще проще :) разве не так ?

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

Все зависит от языка и контейнер DI \ IoC. Т.е. на сколько он дает простор для решения такой задачи

Например у нас есть функционал accaunts и likes. Можно разделить по пакетам в коде все что относится к ним. Реализация должна быть видна только внутри пакетов их или даже подпакетов. Наружу public interface AccauntsService и LikesService и взаимодействие только через них :) Это я имел ввиду. А на ревью по шапке давать всем, кто обходные пути создает. Благо это не так сложно и соглашений куча не надо будет.

Согласен. Оверхед огромный по соглашениям писанным и неписанным - зло

(поставил вам плюсик в карму за интересный диалог)

Sign up to leave a comment.