В качестве текущего основного промежуточного программного обеспечения для микросервисов Nacos включает в себя две функции микросервиса верхнего уровня: центр конфигурации и центр регистрации.
Центр конфигурации — это служба централизованного управления и настройки. Говоря простым языком, это означает «облако» локальных файлов конфигурации.
Преимущества этого заключаются в следующем:
Разумеется, в центре конфигурации не может быть функции балансировки нагрузки, поэтому пропустим ее и посмотрим непосредственно на центр регистрации.
Реестр — это компонент распределенной системы.,Используется для реализации регистрации и обнаружения служб.。Центр регистрации используется для управления экземплярами службы.изинформация метаданных,И обеспечить обнаружение службы мониторинга и маршрутизации из функций.
В микросервисной архитектуре службам часто приходится звонить и взаимодействовать друг с другом. Роль центра регистрации заключается в обеспечении централизованного управления и координации услуг. По умолчанию служба регистрирует свою собственную информацию в центре регистрации. Другие службы могут обнаруживать и вызывать целевую службу, запрашивая информацию центра регистрации.
К основным функциям регистрационного центра относятся следующие:
Строго говоря, балансировка нагрузки не является функцией традиционного центра регистрации. Вообще говоря, полный процесс обнаружения службы должен начинаться с
Центр регистрации получает список экземпляров сервиса, а затем выбирает некоторые экземпляры в соответствии со своими потребностями или следует определенному потоку.
Для доступа к различным поставщикам услуг сам центр регистрации обычно не ограничивает политики доступа потребителей услуг.
Например, Eureka, Zookeeper и Consul сами по себе не реализуют настраиваемые и масштабируемые механизмы балансировки нагрузки Eureka.
Балансировка нагрузки выполняется с помощью Ribbon, а Consul использует Fabio для балансировки нагрузки.
Другими словами, центр регистрации и балансировка нагрузки — это на самом деле две разные вещи. Центр регистрации в основном обеспечивает регистрацию услуг и доставляет список регистрации услуг потребителям. Какую стратегию балансировки нагрузки следует использовать потребителям? Это полностью зависит от вас. В настоящее время потребители могут выбирать и вызывать службы через клиентские балансировщики нагрузки, такие как клиентский балансировщик нагрузки Ribbon или Spring Cloud LoadBalancer.
Балансировщик клиентской нагрузки обычно расположен на стороне потребителя службы и в основном отвечает за разумное распределение запросов между различными поставщиками услуг. Принцип работы заключается в том, что прежде чем клиент инициирует запрос, он выбирает подходящий экземпляр службы для выполнения запроса с помощью алгоритма балансировки нагрузки. Клиент решает, какой экземпляр службы выбрать, исходя из работоспособности, состояния загрузки и других показателей экземпляра службы. К распространенным клиентским балансировщикам нагрузки относятся Ribbon, Feign и т. д.
Балансировщик нагрузки на стороне сервера часто называют обратным прокси-сервером или балансировщиком нагрузки. Он расположен на стороне поставщика службы, принимает клиентские запросы и распределяет запросы по нескольким экземплярам службы на внутренней стороне в соответствии с определенной политикой балансировки нагрузки. . Принцип работы заключается в централизации клиентских запросов к балансировщику нагрузки, а балансировщик нагрузки распределяет запросы между несколькими поставщиками услуг. К распространенным балансировщикам нагрузки на стороне сервера относятся Nginx, HAProxy и т. д.
Балансировка нагрузки клиента VS балансировка нагрузки сервера
Однако регистрационный центр Nacos отличается от традиционных регистрационных центров, таких как Eureka, Zookeeper, Consul и т. д. Поскольку Nacos выпущен после 0.7.0 (включая эту версию), в него встроены две следующие стратегии балансировки нагрузки:
Итак, вопрос в том, что, поскольку в Nacos встроена стратегия балансировки нагрузки на основе веса, почему вы не видите никаких изменений, когда вы изменяете значение веса в Nacos и вызываете его на сервере?
Эта статья была включена на мой сайт интервью. www.javacn.site,который содержитиз Содержание:Redis、JVM、одновременно、одновременно、MySQL、Spring、Spring MVC、Spring Boot、Spring Облако, MyBatis, шаблоны проектирования, очередь сообщений и другие модули.