Информация об изменениях

Сообщение Re[43]: Идемпотентность POST - хорошая ли практика? от 06.10.2022 13:00

Изменено 06.10.2022 13:27 Pauel

Re[43]: Идемпотентность POST - хорошая ли практика?
Здравствуйте, Ночной Смотрящий, Вы писали:

M>>Клиент — внутренний и не особо нас любит. Причем не любит "просто-так"


НС>

НС>И зачем тогда об этих прекрасных отношениях внутри вашей организации писать сюда, преподнося это как аргумент?

Внутренние клиенты есть всегда. Вот внешние — это далеко не обязательно. Скажем, доля рестовых коммуникаций сильно скукожилась т.е. новые околобраузерные веяния вытесняют рест и задвигают его в приватную сеть.
То есть, браузер фактически общается с api gateway, а реальный rest сервис сидит в приватной сети. То есть, api gateway для нас это внутренний консумер. Сервис, который обращется к другому сервису — снова внутренний консумер. Бакенд обращается к кучке сервисов — снова внутренний консумер.
Даже если мы продаём API, то всё равно напрямую никто не лезет в приватную сеть минуя файрволы и гатевеи. Отсюда ясно, что чуть ли не все непосредственные консумеры это внутренние.
И вот на такой api gateway как правило навешиваются самые разные капабилити, и не важно, где они документированы, в open source, как трейсинг, или во внутренней документации экосистемы.

Более того, часто продукты используют пакет X-саpability не напрямую, а в составе какого то компонента как депенденси 2го уровня. Отсюда ясно, что changelog ничем не помогает — мало кто способен отслеживать все n*m зависимостей 2го уровня.
Например, им нужен не "умный клиент к сервису AБЦ", а "источник данных для аналитики". Аналитика пишется другой командой, и это просто пакет, который умеет тащить данные из разных источников и обрабатывать их. Соответственно, как только в конфиге появилась строчка "analytic-source": { "use-provider": "odata", "endpoint": "${analytic-endpoint}" } то у нас вдруг играет тот самый кейс — обновили чего то там, а эффекты появляются здесь. И при этом команда конкретного продукта абсолютно не в курсе, какие из её компонентов что то там унутре делают. Все что им надо — подлючили пакет аналитики, прикрутили роут, подкинули страничку-стили и всё готово.
Re[43]: Идемпотентность POST - хорошая ли практика?
Здравствуйте, Ночной Смотрящий, Вы писали:

M>>Клиент — внутренний и не особо нас любит. Причем не любит "просто-так"


НС>

НС>И зачем тогда об этих прекрасных отношениях внутри вашей организации писать сюда, преподнося это как аргумент?

Внутренние клиенты есть всегда. Вот внешние — это далеко не обязательно. Скажем, доля рестовых коммуникаций сильно скукожилась т.е. новые околобраузерные веяния вытесняют рест и задвигают его в приватную сеть.
То есть, браузер фактически общается с api gateway, а реальный rest сервис сидит в приватной сети. То есть, api gateway для нас это внутренний консумер. Сервис, который обращется к другому сервису — снова внутренний консумер. Бакенд обращается к кучке сервисов — снова внутренний консумер.
Даже если мы продаём API, то всё равно напрямую никто не лезет в приватную сеть минуя файрволы и гатевеи. Отсюда ясно, что чуть ли не все непосредственные консумеры это внутренние.
И вот на такой api gateway как правило навешиваются самые разные капабилити, и не важно, где они документированы, в open source, как трейсинг, или во внутренней документации экосистемы.

Более того, часто продукты используют пакет X-саpability не напрямую, а в составе какого то компонента как депенденси 2го уровня. Отсюда ясно, что changelog ничем не помогает — мало кто способен отслеживать все n*m зависимостей 2го уровня.
Например, им нужен не "умный клиент к сервису AБЦ", а "источник данных для аналитики". Аналитика пишется другой командой, и это просто пакет, который умеет тащить данные из разных источников и обрабатывать их. Соответственно, как только в конфиге появилась строчка "analytic-source": { "use-provider": "odata", "endpoint": "${analytic-endpoint}" } то у нас вдруг играет тот самый кейс — обновили чего то там, а эффекты появляются здесь. И при этом команда конкретного продукта абсолютно не в курсе, какие из её компонентов что то там унутре делают. Все что им надо — подлючили пакет аналитики, прикрутили роут, подкинули страничку-стили и всё готово.
Далее, при деплое зависимости 2го уровня могут малёха поменяться, так, по мелочи. Кто будет курить changelog n*m таких зависимостей?