Назад | Перейти на главную страницу

что такое сервисная сетка в балансировке нагрузки контейнера?

Когда я читал о балансировщиках нагрузки и контейнерах, ищу четкое представление о сервисной сетке в балансировщике нагрузки и о том, как она полезна в контейнерах.

Istio становится известным благодаря этому. Он работает как контейнер «sidecar», что означает, что это еще один контейнер в том же модуле, поэтому он будет совмещен с другим контейнером и может влиять на сетевой трафик для этого контейнера.

Проще говоря, сервисная сетка фактически представляет собой набор агентов (обычно для микросервисной архитектуры), но несколько инвертирована по сравнению с традиционными подходами высокой доступности с виртуальными серверами с балансировкой нагрузки.

Так, например: скажем, приложение-контейнер A хочет поговорить со службой S; вместо S, являющегося балансировщиком нагрузки (например, haproxy), у вас может быть несколько экземпляров Ss. У A будет дополнительный элемент, который имеет свойство: когда A хочет подключиться к S, он будет направлять трафик к одному из Ss.

Представьте себе разницу в трафике в микросервисной архитектуре; вы сократили количество узких мест, потому что получили балансировщик нагрузки для каждого клиента.

Теперь подумайте, что еще вы могли бы сделать с подобными вещами; хотите аутентифицировать службы стандартным способом без необходимости реализовывать это в своем контейнерном приложении? Возможно, контейнер с коляской сделает это за вас.

Хотите иметь хорошую логику автоматического выключателя, чтобы предотвратить тайм-ауты и обеспечить плавный отказ? Коляска!

А как насчет поддержки функции-флага, чтобы вы могли изящно выполнять такие вещи, как темный запуск или отключение функций, чтобы справиться с нагрузкой. Коляска!

Как насчет помощи в мониторинге, визуализации и анализе трафика в вашей архитектуре? Монорельс! Монорельс! .... Коляска!

Я пытаюсь сказать, что вы можете сделать свое приложение таким же простым, как зеленый единорог, говорящий по http, и иметь что-то еще, заботящееся об инфраструктуре и вещах, о которых разработчики обычно не любят думать (ssl, балансировка нагрузки и т. Д.)

Или, по крайней мере, я надеюсь, что это то, о чем обещает сервисная сетка.

Думая о служебных сетках, мне на ум приходит istio, а также прокси-сервер.

https://istio.io/docs/concepts/what-is-istio/ https://www.envoyproxy.io/

Что это вообще такое? Здесь многое можно найти для ответа, но это хорошая статья с несколькими практическими примерами возможностей istio:

https://developers.redhat.com/blog/2018/03/06/introduction-istio-makes-mesh-things/