|
Микросервисный подход: паттерны
|
|||
---|---|---|---|
#18+
Преамбула: В общем случае , при выделении микросервисов в отдельную единицу, говорят о том, что 1 микросервис - 1 бизнес функция. Не стоит делить на функциональные слои(типа выделять в один микросервис DAO слой). Кроме того, говорят, что если между двумя микросервисами есть много связей(один из них часто обращается к другому), то стоит думать о том, чтобы их объединить или рефакторить один из них таким образом, чтобы выделить часть функционала в другой микросервис(тесто связанный который). Вопрос: если есть некий сторонний rest сервис с довольно сложным api, у которого меняются версии и все такое. Несколько микросервисов работают с этим сторонним rest сервисов. Если выделить в отдельный микросервис прослойку общения с этим сторонним сервисом, то мы нарушим оба пункта нашей прембулы, но получим единую точку поддержки при изменении версий api у стороннего сервиса. Кроме того, этот "слой общения с апи стороннего" сервиса рискует стать узким горлышком. Были ли у вас схожие проблемы? Как решали? Просто выделяли его в отдельный джарник и использовали как библиотеку в микросервисах? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 15:23 |
|
Микросервисный подход: паттерны
|
|||
---|---|---|---|
#18+
Озверин, шаблон Gateway. Если нужен в разных местах, то в пакет, библиотеку. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 00:10 |
|
Микросервисный подход: паттерны
|
|||
---|---|---|---|
#18+
>В общем случае , при выделении микросервисов в отдельную единицу, говорят о том, что 1 микросервис - 1 бизнес функция. Врут. Тут к примеру, говорят немного о другом: https://www.ibm.com/cloud/garage/content/code/domain-driven-design/ Ключевой момент - Bounded Context [spoiler] А тут хорошо рассказано, как получить проблему, если каждая бизнес функция это микросервис ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 17:55 |
|
|
start [/forum/topic.php?fid=16&fpage=11&tid=1340014]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 241ms |
total: | 405ms |
0 / 0 |