Сколько стратегий балансировки нагрузки есть у Nacos?
Сколько стратегий балансировки нагрузки есть у Nacos?

В качестве текущего основного промежуточного программного обеспечения для микросервисов Nacos включает в себя две функции микросервиса верхнего уровня: центр конфигурации и центр регистрации.

1. Грамотность центра настройки

Центр конфигурации — это служба централизованного управления и настройки. Говоря простым языком, это означает «облако» локальных файлов конфигурации.

Преимущества этого заключаются в следующем:

  1. Централизованное управление информацией о конфигурации:Центр конфигурации объединяет различные сервисыиз Централизовать информацию о конфигурациисуществовать Управляйте вместе,Реализовано централизованное хранение информации о конфигурации.
  2. Динамически обновлять конфигурацию:В центре конфигурациииз Информацию о конфигурации можно получить через рабочий интерфейс.или API Выполняйте динамические обновления, чтобы применить последнюю информацию о конфигурации без перезапуска службы.
  3. Настройка обмена информацией:Централизовать конфигурациюсуществовать В центре конфигурации,Разные экземпляры службы могут использовать один и тот же набор информации о конфигурации.
  4. Настроить информационную безопасность:Центр конфигурации может обеспечить безопасное управление информацией о конфигурации.、Функции управления, такие как контроль разрешений.
  5. Отслеживание информации:Поддержка управления версиями конфигурации、Функции управления, такие как записи истории.

Разумеется, в центре конфигурации не может быть функции балансировки нагрузки, поэтому пропустим ее и посмотрим непосредственно на центр регистрации.

2. Грамотность в регистрационном центре

Реестр — это компонент распределенной системы.,Используется для реализации регистрации и обнаружения служб.。Центр регистрации используется для управления экземплярами службы.изинформация метаданных,И обеспечить обнаружение службы мониторинга и маршрутизации из функций.

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

К основным функциям регистрационного центра относятся следующие:

  1. Регистрация услуги:поставщик услугсуществовать Будет сам при запускеизинформация(например IP адрес, номер порта, название службы и т. д.), зарегистрированный в центре регистрации. В реестре хранится список экземпляров службы.
  2. обнаружение службы:Потребители услуг запрашивают услугу через центр регистрации.информация,Получите список доступных экземпляров службы. через регистрационный центр,Потребитель услуги может найти целевую услугу и подключиться к ней.
  3. проверка здоровья:Центр регистрации может регулярно проверять экземпляры сервиса.изсостояние здоровья,И обновите доступность экземпляра службы в соответствии со статусом службы.
  4. балансировка нагрузки:Центр регистрации может располагаться на базебалансировка стратегия нагрузки, распределяет запросы по разным экземплярам сервиса для достижения балансировки высокая доступность нагрузки и сервиса.
  5. Маршрутизация услуг:существовать В некоторых передовых центрах регистрации,Также определите маршрутизацию Правила услуг маршрутизируют запросы к различным экземплярам службы для достижения более гибкого контроля и управления трафиком.

3. Центр регистрации и балансировка нагрузки

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

Центр регистрации получает список экземпляров сервиса, а затем выбирает некоторые экземпляры в соответствии со своими потребностями или следует определенному потоку.

Для доступа к различным поставщикам услуг сам центр регистрации обычно не ограничивает политики доступа потребителей услуг.

Например, Eureka, Zookeeper и Consul сами по себе не реализуют настраиваемые и масштабируемые механизмы балансировки нагрузки Eureka.

Балансировка нагрузки выполняется с помощью Ribbon, а Consul использует Fabio для балансировки нагрузки.

Другими словами, центр регистрации и балансировка нагрузки — это на самом деле две разные вещи. Центр регистрации в основном обеспечивает регистрацию услуг и доставляет список регистрации услуг потребителям. Какую стратегию балансировки нагрузки следует использовать потребителям? Это полностью зависит от вас. В настоящее время потребители могут выбирать и вызывать службы через клиентские балансировщики нагрузки, такие как клиентский балансировщик нагрузки Ribbon или Spring Cloud LoadBalancer.

4. Балансировка нагрузки клиента и сервера.

Балансировщик клиентской нагрузки обычно расположен на стороне потребителя службы и в основном отвечает за разумное распределение запросов между различными поставщиками услуг. Принцип работы заключается в том, что прежде чем клиент инициирует запрос, он выбирает подходящий экземпляр службы для выполнения запроса с помощью алгоритма балансировки нагрузки. Клиент решает, какой экземпляр службы выбрать, исходя из работоспособности, состояния загрузки и других показателей экземпляра службы. К распространенным клиентским балансировщикам нагрузки относятся Ribbon, Feign и т. д.

Балансировщик нагрузки на стороне сервера часто называют обратным прокси-сервером или балансировщиком нагрузки. Он расположен на стороне поставщика службы, принимает клиентские запросы и распределяет запросы по нескольким экземплярам службы на внутренней стороне в соответствии с определенной политикой балансировки нагрузки. . Принцип работы заключается в централизации клиентских запросов к балансировщику нагрузки, а балансировщик нагрузки распределяет запросы между несколькими поставщиками услуг. К распространенным балансировщикам нагрузки на стороне сервера относятся Nginx, HAProxy и т. д.

Балансировка нагрузки клиента VS балансировка нагрузки сервера

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

5.Nacos и балансировка нагрузки

Однако регистрационный центр Nacos отличается от традиционных регистрационных центров, таких как Eureka, Zookeeper, Consul и т. д. Поскольку Nacos выпущен после 0.7.0 (включая эту версию), в него встроены две следующие стратегии балансировки нагрузки:

  1. На основе весовой дисбалансировки нагрузки Стратегия,этотсуществовать Nacos Редактор сервисаиз Вы также можете увидеть его настройки, когда:
    image.png
    image.png
  2. На основе третьих лиц Тег CMDB (расположение рядом с доступом) избалансировка нагрузки Стратегия,этот Вы можете обратиться к официальной документации:https://nacos.io/zh-cn/blog/cmdb.htmlЦентр сводной регистрации ибалансировка Строго говоря, устройство нагрузки – это две вещи, но Nacos В центр регистрации встроено два типа балансировки. Стратегия нагрузки: по весу и по CMDB (ниже ближайшего доступа) избалансировка нагрузки Стратегия。

думать

Итак, вопрос в том, что, поскольку в Nacos встроена стратегия балансировки нагрузки на основе веса, почему вы не видите никаких изменений, когда вы изменяете значение веса в Nacos и вызываете его на сервере?

Эта статья была включена на мой сайт интервью. www.javacn.site,который содержитиз Содержание:Redis、JVM、одновременно、одновременно、MySQL、Spring、Spring MVC、Spring Boot、Spring Облако, MyBatis, шаблоны проектирования, очередь сообщений и другие модули.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose