0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p><strong>Микросервисы</strong>имеют и плюсы и минусы, на которых мы сейчас останавливаться не будем. Существует 6 причин разделять компоненты на микросервисы, вместо разработки монолита:</p>
1
<p><strong>Микросервисы</strong>имеют и плюсы и минусы, на которых мы сейчас останавливаться не будем. Существует 6 причин разделять компоненты на микросервисы, вместо разработки монолита:</p>
2
<ol><li><strong>Разная частота изменений</strong>(сервисы, которые меняются часто, имеет смысл выделить в отдельный микросервис).</li>
2
<ol><li><strong>Разная частота изменений</strong>(сервисы, которые меняются часто, имеет смысл выделить в отдельный микросервис).</li>
3
<li><strong>Разный жизненный цикл</strong>(например, какой-то компонент требует особого вида тестирования или к нему особые требования у регуляторов).</li>
3
<li><strong>Разный жизненный цикл</strong>(например, какой-то компонент требует особого вида тестирования или к нему особые требования у регуляторов).</li>
4
<li><strong>Разные требования к масштабированию</strong>(например, сильно нагружены чаще всего только 1-2 сервиса из десятков).</li>
4
<li><strong>Разные требования к масштабированию</strong>(например, сильно нагружены чаще всего только 1-2 сервиса из десятков).</li>
5
<li><strong>Изоляция сбоев</strong>(если взорвется один сервис, остальные продолжат работать, но при этом критичных компонентов не так много).</li>
5
<li><strong>Изоляция сбоев</strong>(если взорвется один сервис, остальные продолжат работать, но при этом критичных компонентов не так много).</li>
6
<li><strong>Фасад к внешним зависимостям</strong>(устойчивость к смене их API, всякие AAA, и т.д.).</li>
6
<li><strong>Фасад к внешним зависимостям</strong>(устойчивость к смене их API, всякие AAA, и т.д.).</li>
7
<li><strong>Необходимость в разном техническом стеке</strong>в разных частях системы.</li>
7
<li><strong>Необходимость в разном техническом стеке</strong>в разных частях системы.</li>
8
</ol><p>Все, что изложено выше, является, по сути, вольным пересказом вот этой статьи:<em>https://tanzu.vmware.com/content/blog/should-that-be-a-microservice-keep-these-six-factors-in-mind</em>.</p>
8
</ol><p>Все, что изложено выше, является, по сути, вольным пересказом вот этой статьи:<em>https://tanzu.vmware.com/content/blog/should-that-be-a-microservice-keep-these-six-factors-in-mind</em>.</p>
9
<p>Но давайте приведем пример, ведь вышеперечисленные причины, кажется, можно использовать для создания Outpost в архитектурном паттерне Цитадель.</p>
9
<p>Но давайте приведем пример, ведь вышеперечисленные причины, кажется, можно использовать для создания Outpost в архитектурном паттерне Цитадель.</p>
10
<h2>Цитадель</h2>
10
<h2>Цитадель</h2>
11
<p><strong>Citadel</strong>- архитектурный паттерн проектирования наряду с паттернами “Монолит” и “Микросервисы”.</p>
11
<p><strong>Citadel</strong>- архитектурный паттерн проектирования наряду с паттернами “Монолит” и “Микросервисы”.</p>
12
<p>Состоит в выделении некоторой функциональности из монолита в виде “Outpost” и сохранении основного условно монолитного ядра.</p>
12
<p>Состоит в выделении некоторой функциональности из монолита в виде “Outpost” и сохранении основного условно монолитного ядра.</p>
13
<p>Для того, чтобы принять решение оставлять ли некоторую функциональность в монолите или же вынести ее в микросервис, мы и можем вспомнить 6 причин делать микросервис.</p>
13
<p>Для того, чтобы принять решение оставлять ли некоторую функциональность в монолите или же вынести ее в микросервис, мы и можем вспомнить 6 причин делать микросервис.</p>
14
<p>Хороший пример для выделения в Outpost -<strong>сервис аутентификации</strong>, на который обычно бывает высокая нагрузка, или<strong>сервис-представление</strong>для какого-нибудь счетчика, который выдает пользователю количество непрочитанных сообщений.</p>
14
<p>Хороший пример для выделения в Outpost -<strong>сервис аутентификации</strong>, на который обычно бывает высокая нагрузка, или<strong>сервис-представление</strong>для какого-нибудь счетчика, который выдает пользователю количество непрочитанных сообщений.</p>
15
<p>В итоге получается, что<strong>для основной функциональности мы пользуемся плюсами монолита, а для граничных условий пользуемся плюсами микросервисов</strong>.</p>
15
<p>В итоге получается, что<strong>для основной функциональности мы пользуемся плюсами монолита, а для граничных условий пользуемся плюсами микросервисов</strong>.</p>
16
<p>На этом все, больше полезных материалов смотрите в<a>моем блоге</a>.</p>
16
<p>На этом все, больше полезных материалов смотрите в<a>моем блоге</a>.</p>
17
17