Различия SOA и микросервисной архитектуры за 9 минут
Vložit
- čas přidán 8. 11. 2021
- Listen IT на Я.Дзене - zen.yandex.ru/listenit
Telegram-канал Кладовка Тестировщика - t.me/qainfo
В статье мы узнаем:
- Что такое SOA
- Что такое MSA (микросервисная архитектура)
- Особенности архитектуры SOA
- Особенности микросервисной архитектуры
- Отличие SOA от MSA
- Какую архитектуру выбрать
Поддержать канал разово - yoomoney.ru/to/410012243709514
Поддержать канал подпиской - boosty.to/listenit
Телеграм-канал - t.me/listenit_channel
По вопросам сотрудничества - t.me/ed_akimov
Ссылка на статью - microarch.ru/blog/soa-vs-msa
Что такое Kubernetes за 9 минут - • Что такое Kubernetes з...
Что такое Docker за 5 минут - • Что такое Docker за 5 ...
Различия REST и SOAP за 4 минуты - • Различия REST и SOAP з...
Введение в REST API за 7 минут - • Введение в REST API за...
Что такое Swagger и OpenAPI за 3 минуты - • Что такое Swagger и Op...
Что такое HTTP и HTTPS за 9 минут - • Что такое HTTP и HTTPS...
Что такое ETL и ELT за 10 минут - • Что такое ETL и ELT за...
Что такое CRUD за 6 минут - • Что такое CRUD за 6 минут
Что такое middleware за 7 минут - • Что такое middleware з...
Что такое идемпотентность - • Что такое идемпотентно...
Что такое ACID за 9 минут - • Что такое ACID за 9 минут
Что такое HATEOAS за 4 минуты - • Что такое HATEOAS за 4...
Что такое CI/CD - • Что такое CI/CD? Разби...
Что такое Code First подход за 4 минуты - • Что такое Code First п...
Что такое Contract First подход за 4 минуты - • Что такое Contract Fir...
Что такое Kubernetes за 9 минут - • Что такое Kubernetes з...
Слишком однобоко получилось, к сожалению. Как будто у MSA сплошные плюсы .
Что у MSA с
- консистентностью данных?
- динамическим изменение бизнес правил в начале проекта (да и вообще, насколько легко координировать изменения бизнес логики)
- что с затратами на инфраструктуру и сложностью поддержки потенциального «зоопарка» технологий (в том числе, с точки зрения найма сотрудников)
- и т.д.
Поддерживаю вас, что получилось однобоко, но потенциал в большинстве случаев остаётся за микросервисной архитектурой. Главное знать предел своей инфраструктуры и бюджет :_3
Все таки все зависит от задачи, если не планируется повышения загрузки сервера и подключения сторонних сервисов SOA, весь код в одном проекте можно сказать, проще производить логирование и дебагинг. Основная потребность для MSA это именно ресурсы, мы распределяет систему, отвалился один сервис, его ветка не работает остальные ветки работают. И за это приходится платить вовсе не дублированием, а усложнением архитектуры именно в MSA очень сложно координировать взаимодействия между сервисами при обновлении, изменении например в шардировании и репликации данных, изменении формата обмена, протокола и т.д.,а также собрать воедино всю логику приложения. Чувство, что рассказывающий или не работал в реальности с такими проектами и действительно не понимает всех особенностей либо это мейнстримное видео типа микросервис круто остальное фигня, чтобы на бежали хейтеры и пошёл халивар, не любитель иностранных заимствований, но так короче и надеюсь понятнее.
Звуки из Героев 3 - это потрясающе))
Просто офигительное пояснение, осознал, что я спроектировал гибрид и надо выбивать время на рефакторинг в сторону msa, спасибо
Круто, рад, что помогло!
Отличный материал для тех, кто уже немного знаком SOA и MSA по отдельности, для того чтобы лучше понять различия и особенности двух архитектур.
согласен, без примеров тем, кто не очень в теме - сложновато уловить суть
Большая часть указанных отличий свойственны и MSA и SOA. Но все недостатки отнесены к SOA, а достоинства к - MSA. Эти отличия - скорее свойства отдельных проектов. Достоинства - как хотели, а недостатки - как получилось...
Это перевод какой-то статьи, которая рекламирует MSA
Интересно изложено
Годно, спасибо
Великолепный канал
Однозначно лайк, большое спасибо!
Крутое видео, было б полезно услышать про DDD
Спасибо, учтём 👌
Супер видео - но хотелось бы послушать про DDD
Крутая подача! Спасибо!
Отличная подача. Хорошие источники. Минимум воды. Лайк! Ждем видео о DDD :)
Типичная болтовня совершенно не подкреплённая никакими жизненными примерами
Отличное видео - простое разделение мух и котлет.
Да. DDD интересно было бы
Приняли 👌
А почему считается, что в MSA для обмена данными используется брокер сообщений? А если данными обмениваются по gRPC? Разве от этого архитектура перестает быть микросервисной?
Могу что-то напутать, заранее спасибо!
Имею малую экспертизу, лишь моя догадка: если микросервисы будут друг с другом взаимодействовать напрямую через gRPC, то они потеряют автономность и будут зависеть друг от друга. Т.е. с помощью брокера сообщений можно сделать асинхронное взаимодействие: отправил сообщение в очередь и не думаешь, обработано оно или нет. А если обмениваться информацией по gRPC, то попытался отослать запрос и упал - т.е. один сервис не может существовать без другого - теряется автономность микросервисов.
@@user-di8ee7tg9u не, это логично, согласен. Но мне показалось, будто тут утверждается, что как раз таки общение через MQ это один из критериев микросервиса, что ошибочно, потому что на практике общение может происходить (и чаще даже происходит) через обычный REST или же RPC
материал классный, но начитка тяжела для восприятия. Чтобы более менее вникнуть в смысл, раза 4-5 возвращался к середине видео.
Что значит слово макирование на 7:01?
Мок - это заглушка, замена какого-то сервиса при тестировании. Можно тут почитать это - vk.com/@simbirsoft_team-moki-dlya-chainikov-terminy-instrumenty-i-hello-world
@@ListenIT_channel спасибо.
Я думаю, что возвращаться несколько раз к материалу при изучении - это норма.
Реклама микросервисной архитектуры. В нынешние времена считается, что микросервисная архитектура обладает своими недостатками, и отнюдь не является серебряной пулей.
а что значит мокируются зависимости системы при тестировании?
Видео получилось довольно однобоким. Его стоило бы назвать преимущества MSA по сравнению с SOA. У MSA как я вижу есть минусы, это дублирование кода, а так же потенциальные проблемы с внесением изменений. Как я вижу вносить изменения в одном месте проще, чем искать в каждом сервисе куски кода, которые необходимо изменить.
Не думаю, что дублирование кода в этом случае проблема. Каждый микросервис имеет разную причину для изменений, со временем эти одинаковые классы перестанут быть похожими. Ну по крайней мере так будет, если микросервисы разделяются по Common Closure Principle. По похожей причине например создаются DTO объекты, которые передаются через границы, они могут быть идентичными в начале, но со временем DTO каждого слоя измениться по своим причинам.
Вот и получается дублирование. Несколько микросервисов работают с одной и той же сущностью, но каждый по-своему. А это значит, что их работу нужно координировать/синхронизировать.@@Poseidonboy
А я и пишу про дублирование... Только со временем сущности перестанут быть похожими на друг друга, если МСы разделены по ответственностям. У этих казалось бы одинаковых сущностей будут разные причины для изменения. А координировать работу придется как раз в SOA ибо там одна сущность передается по сервисам @@ystanislavv
Как всегда, лаконично, ясно, грамотно и качественно! Топ 5+!
Очень быстро говорите. Вы хотите в формат шортса уложиться?
Странно я думал микросервисы это тоже soa
что такое "переиспользование сервиса" ?
Вкратце, это использование этого сервиса в других процессах и в сочетании с другими сервисами. Например, сервис платежей используем и при оплате заказа, и для оформления подписки (пример странный, но суть, думаю, вы поняли).
материал отличный, подача ужасная. монолог очень быстрый однотонный. ужасно тяжело воспринимать информацию
Рассуждение диванного теоретика.
Херня полная. Не все микросервисы одинаково полезны
Я думаю автор путает понятия SOA и распределенный монолит