Слишком однобоко получилось, к сожалению. Как будто у MSA сплошные плюсы . Что у MSA с - консистентностью данных? - динамическим изменение бизнес правил в начале проекта (да и вообще, насколько легко координировать изменения бизнес логики) - что с затратами на инфраструктуру и сложностью поддержки потенциального «зоопарка» технологий (в том числе, с точки зрения найма сотрудников) - и т.д.
Поддерживаю вас, что получилось однобоко, но потенциал в большинстве случаев остаётся за микросервисной архитектурой. Главное знать предел своей инфраструктуры и бюджет :_3
Все таки все зависит от задачи, если не планируется повышения загрузки сервера и подключения сторонних сервисов SOA, весь код в одном проекте можно сказать, проще производить логирование и дебагинг. Основная потребность для MSA это именно ресурсы, мы распределяет систему, отвалился один сервис, его ветка не работает остальные ветки работают. И за это приходится платить вовсе не дублированием, а усложнением архитектуры именно в MSA очень сложно координировать взаимодействия между сервисами при обновлении, изменении например в шардировании и репликации данных, изменении формата обмена, протокола и т.д.,а также собрать воедино всю логику приложения. Чувство, что рассказывающий или не работал в реальности с такими проектами и действительно не понимает всех особенностей либо это мейнстримное видео типа микросервис круто остальное фигня, чтобы на бежали хейтеры и пошёл халивар, не любитель иностранных заимствований, но так короче и надеюсь понятнее.
Остановись) гибрид это прекрасно. Здесь сухая теория. Если ты в одного разрабатываешь, то у тебя не может быть ни соа ни мса. Скорее распределенный монолит. Это самая эфыективная форма по для малых команд
Большая часть указанных отличий свойственны и MSA и SOA. Но все недостатки отнесены к SOA, а достоинства к - MSA. Эти отличия - скорее свойства отдельных проектов. Достоинства - как хотели, а недостатки - как получилось...
материал классный, но начитка тяжела для восприятия. Чтобы более менее вникнуть в смысл, раза 4-5 возвращался к середине видео. Что значит слово макирование на 7:01?
Мок - это заглушка, замена какого-то сервиса при тестировании. Можно тут почитать это - vk.com/@simbirsoft_team-moki-dlya-chainikov-terminy-instrumenty-i-hello-world
А почему считается, что в MSA для обмена данными используется брокер сообщений? А если данными обмениваются по gRPC? Разве от этого архитектура перестает быть микросервисной? Могу что-то напутать, заранее спасибо!
Имею малую экспертизу, лишь моя догадка: если микросервисы будут друг с другом взаимодействовать напрямую через gRPC, то они потеряют автономность и будут зависеть друг от друга. Т.е. с помощью брокера сообщений можно сделать асинхронное взаимодействие: отправил сообщение в очередь и не думаешь, обработано оно или нет. А если обмениваться информацией по gRPC, то попытался отослать запрос и упал - т.е. один сервис не может существовать без другого - теряется автономность микросервисов.
@@ИльяТретьяков-б1т не, это логично, согласен. Но мне показалось, будто тут утверждается, что как раз таки общение через MQ это один из критериев микросервиса, что ошибочно, потому что на практике общение может происходить (и чаще даже происходит) через обычный REST или же RPC
Реклама микросервисной архитектуры. В нынешние времена считается, что микросервисная архитектура обладает своими недостатками, и отнюдь не является серебряной пулей.
Видео получилось довольно однобоким. Его стоило бы назвать преимущества MSA по сравнению с SOA. У MSA как я вижу есть минусы, это дублирование кода, а так же потенциальные проблемы с внесением изменений. Как я вижу вносить изменения в одном месте проще, чем искать в каждом сервисе куски кода, которые необходимо изменить.
Не думаю, что дублирование кода в этом случае проблема. Каждый микросервис имеет разную причину для изменений, со временем эти одинаковые классы перестанут быть похожими. Ну по крайней мере так будет, если микросервисы разделяются по Common Closure Principle. По похожей причине например создаются DTO объекты, которые передаются через границы, они могут быть идентичными в начале, но со временем DTO каждого слоя измениться по своим причинам.
Вот и получается дублирование. Несколько микросервисов работают с одной и той же сущностью, но каждый по-своему. А это значит, что их работу нужно координировать/синхронизировать.@@Poseidonboy
А я и пишу про дублирование... Только со временем сущности перестанут быть похожими на друг друга, если МСы разделены по ответственностям. У этих казалось бы одинаковых сущностей будут разные причины для изменения. А координировать работу придется как раз в SOA ибо там одна сущность передается по сервисам @@ystanislavv
Вкратце, это использование этого сервиса в других процессах и в сочетании с другими сервисами. Например, сервис платежей используем и при оплате заказа, и для оформления подписки (пример странный, но суть, думаю, вы поняли).
Звуки из Героев 3 - это потрясающе))
Слишком однобоко получилось, к сожалению. Как будто у MSA сплошные плюсы .
Что у MSA с
- консистентностью данных?
- динамическим изменение бизнес правил в начале проекта (да и вообще, насколько легко координировать изменения бизнес логики)
- что с затратами на инфраструктуру и сложностью поддержки потенциального «зоопарка» технологий (в том числе, с точки зрения найма сотрудников)
- и т.д.
Поддерживаю вас, что получилось однобоко, но потенциал в большинстве случаев остаётся за микросервисной архитектурой. Главное знать предел своей инфраструктуры и бюджет :_3
Все таки все зависит от задачи, если не планируется повышения загрузки сервера и подключения сторонних сервисов SOA, весь код в одном проекте можно сказать, проще производить логирование и дебагинг. Основная потребность для MSA это именно ресурсы, мы распределяет систему, отвалился один сервис, его ветка не работает остальные ветки работают. И за это приходится платить вовсе не дублированием, а усложнением архитектуры именно в MSA очень сложно координировать взаимодействия между сервисами при обновлении, изменении например в шардировании и репликации данных, изменении формата обмена, протокола и т.д.,а также собрать воедино всю логику приложения. Чувство, что рассказывающий или не работал в реальности с такими проектами и действительно не понимает всех особенностей либо это мейнстримное видео типа микросервис круто остальное фигня, чтобы на бежали хейтеры и пошёл халивар, не любитель иностранных заимствований, но так короче и надеюсь понятнее.
Просто офигительное пояснение, осознал, что я спроектировал гибрид и надо выбивать время на рефакторинг в сторону msa, спасибо
Круто, рад, что помогло!
Остановись) гибрид это прекрасно. Здесь сухая теория. Если ты в одного разрабатываешь, то у тебя не может быть ни соа ни мса. Скорее распределенный монолит. Это самая эфыективная форма по для малых команд
Отличный материал для тех, кто уже немного знаком SOA и MSA по отдельности, для того чтобы лучше понять различия и особенности двух архитектур.
согласен, без примеров тем, кто не очень в теме - сложновато уловить суть
Большая часть указанных отличий свойственны и MSA и SOA. Но все недостатки отнесены к SOA, а достоинства к - MSA. Эти отличия - скорее свойства отдельных проектов. Достоинства - как хотели, а недостатки - как получилось...
Это перевод какой-то статьи, которая рекламирует MSA
Крутое видео, было б полезно услышать про DDD
Спасибо, учтём 👌
Интересно изложено
Великолепный канал
Однозначно лайк, большое спасибо!
Супер видео - но хотелось бы послушать про DDD
Отличная подача. Хорошие источники. Минимум воды. Лайк! Ждем видео о DDD :)
Типичная болтовня совершенно не подкреплённая никакими жизненными примерами
Как всегда, лаконично, ясно, грамотно и качественно! Топ 5+!
Годно, спасибо
Отличное видео - простое разделение мух и котлет.
Да. DDD интересно было бы
Приняли 👌
материал классный, но начитка тяжела для восприятия. Чтобы более менее вникнуть в смысл, раза 4-5 возвращался к середине видео.
Что значит слово макирование на 7:01?
Мок - это заглушка, замена какого-то сервиса при тестировании. Можно тут почитать это - vk.com/@simbirsoft_team-moki-dlya-chainikov-terminy-instrumenty-i-hello-world
@@ListenIT_channel спасибо.
Я думаю, что возвращаться несколько раз к материалу при изучении - это норма.
а что значит мокируются зависимости системы при тестировании?
А почему считается, что в MSA для обмена данными используется брокер сообщений? А если данными обмениваются по gRPC? Разве от этого архитектура перестает быть микросервисной?
Могу что-то напутать, заранее спасибо!
Имею малую экспертизу, лишь моя догадка: если микросервисы будут друг с другом взаимодействовать напрямую через gRPC, то они потеряют автономность и будут зависеть друг от друга. Т.е. с помощью брокера сообщений можно сделать асинхронное взаимодействие: отправил сообщение в очередь и не думаешь, обработано оно или нет. А если обмениваться информацией по gRPC, то попытался отослать запрос и упал - т.е. один сервис не может существовать без другого - теряется автономность микросервисов.
@@ИльяТретьяков-б1т не, это логично, согласен. Но мне показалось, будто тут утверждается, что как раз таки общение через MQ это один из критериев микросервиса, что ошибочно, потому что на практике общение может происходить (и чаще даже происходит) через обычный REST или же RPC
Реклама микросервисной архитектуры. В нынешние времена считается, что микросервисная архитектура обладает своими недостатками, и отнюдь не является серебряной пулей.
Крутая подача! Спасибо!
Видео получилось довольно однобоким. Его стоило бы назвать преимущества MSA по сравнению с SOA. У MSA как я вижу есть минусы, это дублирование кода, а так же потенциальные проблемы с внесением изменений. Как я вижу вносить изменения в одном месте проще, чем искать в каждом сервисе куски кода, которые необходимо изменить.
Не думаю, что дублирование кода в этом случае проблема. Каждый микросервис имеет разную причину для изменений, со временем эти одинаковые классы перестанут быть похожими. Ну по крайней мере так будет, если микросервисы разделяются по Common Closure Principle. По похожей причине например создаются DTO объекты, которые передаются через границы, они могут быть идентичными в начале, но со временем DTO каждого слоя измениться по своим причинам.
Вот и получается дублирование. Несколько микросервисов работают с одной и той же сущностью, но каждый по-своему. А это значит, что их работу нужно координировать/синхронизировать.@@Poseidonboy
А я и пишу про дублирование... Только со временем сущности перестанут быть похожими на друг друга, если МСы разделены по ответственностям. У этих казалось бы одинаковых сущностей будут разные причины для изменения. А координировать работу придется как раз в SOA ибо там одна сущность передается по сервисам @@ystanislavv
что такое "переиспользование сервиса" ?
Вкратце, это использование этого сервиса в других процессах и в сочетании с другими сервисами. Например, сервис платежей используем и при оплате заказа, и для оформления подписки (пример странный, но суть, думаю, вы поняли).
Странно я думал микросервисы это тоже soa
Очень быстро говорите. Вы хотите в формат шортса уложиться?
Херня полная. Не все микросервисы одинаково полезны
По факту плюсы и минусы перепутаны
материал отличный, подача ужасная. монолог очень быстрый однотонный. ужасно тяжело воспринимать информацию
Я думаю автор путает понятия SOA и распределенный монолит
Рассуждение диванного теоретика.