В этом блоге будут обобщены пять основных компонентов среды Spring Cloud, включая Eureka, Ribbon, Feign, Hystrix и Zuul. Мы опишем функциональность и роль каждого компонента, чтобы помочь вам понять их важность при построении архитектуры микросервисов.
Spring Cloud — это набор инструментов разработки для построения микросервисной архитектуры, включающий множество компонентов для решения различных проблем в микросервисах. Среди них пять основных компонентов — Eureka, Ribbon, Feign, Hystrix и Zuul. Эти компоненты предоставляют такие функции, как обнаружение сервисов, балансировка нагрузки, межсервисная связь, отказоустойчивость и маршрутизация, что делает архитектуру микросервисов более стабильной и эффективной.
Eureka — это компонент обнаружения сервисов в Spring Cloud, используемый для реализации регистрации и обнаружения сервисов в микросервисной архитектуре. Через Eureka сервисы могут автоматически регистрироваться и предоставлять внешние интерфейсы доступа, а другие сервисы могут обнаруживать и вызывать эти сервисы на основе имени сервиса.
Лента — это компонент балансировки нагрузки в Spring Cloud, который можно использовать для выбора стратегии балансировки нагрузки на стороне клиента для достижения сбалансированного распределения вызовов между несколькими поставщиками услуг.
Feign — это декларативный HTTP-клиент в Spring Cloud, который упрощает HTTP-связь между сервисами. Написав интерфейсы, Feign может автоматически генерировать клиентский код для вызовов между службами, упрощая процесс вызова.
Hystrix — отказоустойчивый компонент Spring Cloud, который обрабатывает сбои в распределенных системах. Он может добавить устойчивость к задержке и режимы автоматического выключателя между службами для повышения стабильности и надежности системы.
Zuul — это компонент шлюза API в Spring Cloud, используемый для реализации функций динамической маршрутизации, контроля доступа, балансировки нагрузки и мониторинга. С помощью Zuul можно обеспечить унифицированный доступ и управление микросервисами.
Разделите полное приложение на несколько небольших сервисов. Каждый сервис развертывается отдельно, работает независимо и работает в рамках своего собственного процесса. Каждый сервис разрабатывается для своего бизнеса.
SpringCloud — это набор инструментов для микросервисов, который объединяет множество отличных платформ. В основном это мастер инкапсулированной микросервисной архитектуры для технологии с открытым исходным кодом netFlix и лучших бизнес-практик облачных вычислений.
Управляйте каждым микросервисом, регистрируйте сервис и находите клиента.
Взаимодействие с клиентом: http(OpenFeign) tcp(Dubbo)
Два способа: RestTemplate: балансировка нагрузки. Пользовательская балансировка нагрузки ленты. OpenFeign: декларативный псевдо-http-клиент, вызывающий Ribbon
Сервисный предохранитель: при выходе из строя сервисного блока из-за мониторинга неисправности автоматического выключателя срабатывает ненормальное состояние, непосредственно отключающее весь сервис.
Понижение уровня обслуживания: когда нагрузка на обслуживание резко возрастает, некоторые услуги и страницы стратегически понижаются в зависимости от текущих бизнес-условий и трафика, чтобы снизить нагрузку на сервер и обеспечить выполнение основных задач.
Маршрутизирующий шлюз: Все запросы от стойки регистрации отправляются на шлюз, который равномерно пересылает запросы шлюз = пересылка запросов +. Фильтр (условие фильтра (предикат), фильтр (фильтры))
Передавайте все конфигурации проекта на сервер конфигурации для единого управления. Подключитесь к удаленному хранилищу github gitee gitlab и сохраните файл конфигурации локально.
Настроить автоматическое обновление: шина
Пять основных компонентов Spring Cloud: Eureka, Ribbon, Feign, Hystrix и Zuul играют важную роль в микросервисной архитектуре. Они соответственно решают проблемы обнаружения сервисов, балансировки нагрузки, межсервисной связи, отказоустойчивости и маршрутизации и т. д., а также обеспечивают базовую поддержку для создания стабильных и эффективных микросервисных приложений.
Если вы считаете, что это хорошо, пожалуйста, поставьте лайк, соберите, поделитесь и поддержите меня тремя кликами~