0? поздравляю, с таким-же успехом вы могли бы ввести метод с новым именем. По факту вам надо эскалировать — это изменение требований с возможными каскадными последствиями
Переиспользование кода — это прежде всего введение зависимости, а не снижение издержек на нажатие кнопочек
АЙдшники иметь общие — это не проблема даже. Код разделить — вот тут тяжелее.
1) вы там выше не провели различие между микросервисами и подпроектами солюшенов.
2) Ну, допустим, 95% проектов эта какая-то монолитно-изолированная штуковина на
Авторизация — это бизнес-логика? Как вы реализуете права доступа в микросервисах?
если назвать разбиение монолита подпроектами солюшена, то расходы на отладку волшебным образом пропадают? приехали. я в шоке немножко, если честно.
про нытье — открываете метод, собираетесь менять, допустим вы не пропустили подсказки от доброй ИДЕ, что он используется в 26 местах
И? сколько митингов надо провести чтобы понять должно быть ваше изменение глобальным или нет?
Или вы из вселенной в которой даже мердж-конфликтов нет?
Гривневый депозит — 18 процентов годовых.
Долларовый — 2 процента годовых.
Вот сижу и думаю — это минус 16% или в девять раз :D
Ок — расскажите как
вы не поверите, но я кругом вижу толпы клоунов у которых докер в любом монолите.
ну и мне не совсем понятно, что конкретно мешает деплоить сервисы как самостоятельные монолитики, ну и не к ночи будет сказанно — люди вон лямбды деплоят без докера.
для протокола — я скорее за макросервисы, где макросервис — это подсистема — в достаточной мере самостоятельное приложение — от отдельного бранча монолита, в котором меняется код одного неймспейса это в цикле жизни особо не отличается.
вы можете изолировать код монолита на модули, теоретически, вот только на практике гарантировать, что кто-то где-то не нарушил структурные границы вы не сможете.
сервисы как-бы напоминают, что структтурой приложения надо начать заниматься до того как пролучили спагетти-монстра.
сейчас, например смотрю на микросервисный рынок билетов, где куча интеграций с перевозчиками и покупателями — и каждая интеграция в своем контейнере — в принципе толково (не поверите, но системы других компаний тоже полны багов), и каждая интеграция деплоится без необходимости ставить других в известность.
Пока единственное возражение — что вместо того чтобы сделать каждую интеграцию обычным микромонолитом на традиционном микрофреймворке, народ замутил велосипед.
Но я не уверен что вопрос велосипедостроения стоит смешивать с концепцией изоляции.
А тут координальных разниц — минимум 3
Потрясно. Вот только некоторые не тратят много времени на микросервисы — ибо дефолт фреймворка и вообще — не в первый раз.
Инфраструктурные вещи окупаются воздействием на цикл разработки всех фич вообще (или нескольких продуктов).
В зрелом фреймворке больше человекочасов, чем во многих продуктах на нем написанных.
Java образца 2004 года исчезла, отчасти и потому, что Sun оказалась в положении когда сообщество дружно послало EJB 2 в лес. И EJB 3 написали уже в стиле в котором были альтернативы.
дальше простых CRUD-приложений на них не уедешь.
1) Вопреки распространенному заблуждению, транзакции не предотвращают одним своим присутствием Race Conditions по волшебству — так что из коробки дают они не так много. В то-же время никто не отменял примету, что границы транзакционной целостности — это и есть границы сервиса. Так что совсем отказываться от транзакций не обязательно. Особенно если позволить сервису владение более чем одной таблицей.
2) Границы сервисов можно рефакторить.
Проблема микросервисов в том, что тяжело определится с ответами на два вопроса,
а) микро — это сколько?
б) сервис — это что?
1) Кроме производительности, есть проблемы с эволюцией схемы — она склонна эволюционировать по принципу спагетти, давайте на чистоту, хомо сапиенс ’анализирующий’ схему из 100 таблиц — это рецепт катастрофы.
2) Согласование между доменами вообще центральная проблема этого всего. Примечание
EAV модель
может иметь схему, и кроме того может быть основной моделью. (опять-же, возможно именно это — центральный вопрос)
3) Не уверен, что вы называете концентрацией логики. Но отсутствие видимых границ и присутствие кода из других контекстов затрудняет понимание.
Существенным вызовом нахожу разбиение монолита на несколько хранилищ, в условиях наличия "сквозных’ сущностей (например пользователь или заказ) участвующих во многих подсистемах. В некоторой степени EAV модель можно имитировать, в том же смысле как можно имитировать разделенные базы неймспейсингом таблиц.
Применять термин микросервис в условиях разделяемой базы — затруднительно (бесполезно?).
Взаимозависимость сервисов из-за предметной области может образовать сколь-угодно запутанный граф, а не просто цепочку, что означает потребность в визуализации топологии межсервисного взаимодействия. Ну и возможно именно это правильный вопрос при структурировании — перестроение сложного графа зависимостей подсистем во что-то простое.
Достаточно высокая нагрузка на ФОТ (33% ЕСВ плюс 20% НДФЛ) никого не отпугивает
Может вы нас спросите? Кроме процентной ставки вопрос еще в уровне доходов, ведь высокие проценты болнее всего бьют по беднейшим.
В той-же Эстонии минималка в 4(!) раза выше чем в Украине.
Да и безотносительно всей этой петрушки — налоги должны быть вопросом публичного политического процесса. Где в программе Слуги Народа повышение налогов? Нету? Свободны.
Я говорю о налогах, а не о пряниках
Причем тут щедрость? У этой категории наших сограждан и так нет ничего, им очевидно нужны те-же преференции что и ИТ. У них сейчас нагрузка к 50 процентам.
После завершения чего? Свидетелей не задерживают, это как-бы подозреваемый в соучастии террористического акта. Если подписывать помилования соучастникам массовых убийств (а каковы по-вашему правовые основания для обменов), то отт этого убийц меньше не будет.
Так может и другим дать кусок? Снизить налоговую нагрузку на прочих граждан? Например на всех кто зарабатывает меньше 50 тыщ гривен в месяц.
Отличный ответ. Только проблему текущих неравноценных обменов он не решает.
JWT — это аутентификация.
Я говорил о правах/ролях/политиках — вот этом вот всем.
Если авторизация — внутри микросервиса, то в каждом микросервисе должна быть отдельная админка для руления правами?
Т.е. каждому микросервису по собственной системе авторизации?