Три вопроса, обзор резюме предыдущей ситуации.
Какую проблему решает ServiceMesh?
Суть СМ в том.бизнес Сервиса такжебазовая технологическая системаизразъединение:
-
Процесс реализует бизнес-логику (будь то вызывающая сторона или поставщик услуг),biz, то есть белый квадрат на картинке выше
-
Процесс реализует базовую технологическую систему,proxy, то есть синий квадрат на картинке выше
Голос за кадром: балансировка нагрузки, мониторинг и оповещение, обнаружение сервисов и управление ими, цепочка вызовов и многие другие инфраструктуры реализованы на этом уровне.
Что такое Истио?
Istio — это продуктизированная реализация ServiceMesh.
Как устроена многоуровневая архитектура Istio?
Принятие IstioРазделение реализации и контроляДвухуровневая архитектура плоскости данных и плоскости управления.
плоскость данных
- envoy(прокси): отвечает за эффективную пересылку и реализацию политики.[основной]
плоскость управления
-
mixer: Компонент адаптации, через который взаимодействуют плоскость данных и плоскость управления.
-
pilot: Компонент конфигурации политики[основной]
-
citadel: компонент безопасности
-
galley: Компоненты отделены от базовой платформы (например, K8S).
Ядром всей архитектуры являются посланник и пилот.
Сегодня поговорим об IstioУправление потоком, обычно такие как публикация в оттенках серого.
Точно так же, как первоначальное намерение ServiceMesh состояло в том, чтобы отделить техническую систему от бизнес-сервисов,Суть флюидической модели Istio, является разделением управления потоком и расширением экземпляра службы, а именно:
-
Пользователю нужно только установить правила, по которым нужный трафик должен маршрутизироваться через Pilot в плоскости управления.
-
Нет необходимости указывать, как экземпляры службы (сервисные модули) получают
-
Посланник плоскости данных будет получать правила и команды от пилота, а затем реализовывать различные стратегии разгрузки.
Как показано на рисунке выше, в начале Service обращается к старой версии ServiceB.
Голос за кадром, бизнес и базовая развязка:
(1) Серый кружок — бизнес-сервис SVC;
(2) Фиолетовый шестиугольник — это прокси-сервер Envoy;
(3) между службой и агентом имеется локальный доступ;
(4) взаимодействия с прокси-сервером Envoy (синие стрелки) происходят во всех сегментах сети;
Как серый опубликовать его?
Как показано выше, вызывает сервис A сервис B, сервис B для выпуска версии в градациях серого, новой версии требуется скорость потока 5%, попадание в сервис B, только:
(1) Разверните новую версию службы B;
(2) Конфигурация политики выполняется на уровне управления Pilot, и политика синхронизируется с Envoy;
(3) Посланник плоскости данных получает конфигурацию политики и распространяет политику в режиме реального времени;
Голос за кадром: Взаимодействие между Пилотом и Посланником графически не показано.
Готово, этот процессСтратегия бизнес-услуг и управления трафиком полностью отделена друг от друга,Идеально!
В дополнение к распределению оттенков серого на основе доли трафика, распределение оттенков серого на основе прикладного уровня также очень легко реализовать с помощью Istio.
Как показано на рисунке выше, если служба B хочет выпустить версию в градациях серого, ей необходимо передать трафик iPhone на новую версию B. Процесс работы точно такой же (служба развертывания, контроль Pilot, реализация Envoy), т.е. очень удобно.
Если изначально Envoy поддерживает только распределение трафика на основе пропорций трафика и не поддерживает распределение на основе протокола на уровне приложений, вам нужно только:
(1) Обновите стратегию разгрузки Envoy и Pilot контроллера стратегии;
(2) Служба вызывающего абонента A не нуждается в обновлении;
(3) Сервис B не нуждается в обновлении;
Бизнес полностью отделен от базовой инфраструктуры,Идеально!
Голос за кадром: это одна из основных концепций Service Mesh, см. "__Что именно решает ServiceMesh?".
Если используется традиционная микросервисная платформа, ее необходимо обновить, и и вызывающая сторона, и сервер должны сотрудничать при обновлении и перезапуске.
Недавно я поздно отсутствовал на работе, поэтому напишу здесь сегодня. Что такое многоуровневая архитектура Pilot и как она работает с Envoy для реализации управления потоком данных? Давайте разберем ее в следующий раз.
Идеи важнее выводов.
Исследование:
Все обновляют стратегию управления потоком, нужно обновить бизнес-службу, перезапустить?