API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) · Урок

URI lb:// и локатор обнаружения

Разберитесь, как Spring Cloud Gateway разрешает схему lb:// через обнаружение сервисов и как автоматически создаёт маршруты для зарегистрированных сервисов.

Урок 4 из 413 шагов

«URI lb:// и локатор обнаружения» — бесплатный урок API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway), и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

From Hostnames to Service Names

Hardcoding http://10.0.0.5:8080 breaks when instances move. With service discovery the gateway can target a logical service name instead, and resolve real instances at runtime.

The lb Scheme

Prefix a route's uri with lb:// followed by the service id. The gateway hands the request to the load balancer, which picks a live instance.

routes:
  - id: orders
    uri: lb://order-service
    predicates:
      - Path=/orders/**

How lb Is Resolved

At request time the gateway asks the discovery client (Eureka, Consul, etc.) for instances of order-service, then Spring Cloud LoadBalancer selects one. The lb:// host is replaced by a concrete address.

Required Dependencies

You need a discovery client and the load balancer on the classpath. With Eureka:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

The Discovery Locator

Instead of writing a route per service, enable the DiscoveryClient route locator. It auto-generates a route for every registered service.

spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true

Auto-Generated Paths

By default each service is reachable at /SERVICE-ID/**. A service named order-service answers at /order-service/**, forwarded as lb://order-service.

# request /order-service/orders/42
# -> lb://order-service /orders/42

Lowercasing Service IDs

Eureka often registers service ids in uppercase. Enable lowercasing so paths stay clean and predictable.

spring:
  cloud:
    gateway:
      discovery:
        locator:
          lower-case-service-id: true

Mixing Manual and Auto Routes

You can keep the discovery locator on for convenience while still defining explicit routes for services that need custom predicates or filters.

routes:
  - id: orders-custom
    uri: lb://order-service
    predicates:
      - Path=/api/orders/**
    filters:
      - StripPrefix=1

When Auto Routes Are Risky

The locator exposes every service automatically, including internal ones. In production, many teams disable it and define routes explicitly for tighter control.

Health-Aware Selection

Because resolution happens per request, instances that deregister or fail health checks are dropped from the pool. New instances appear automatically as they register.

Verifying Resolution

Enable debug logging for the load balancer to see which instance each request was routed to.

logging:
  level:
    org.springframework.cloud.loadbalancer: DEBUG

Quick Check

What does the lb:// prefix on a route's URI tell the gateway to do?

Recap

You connected the gateway to service discovery:

  • lb://service-id resolves instances dynamically
  • A discovery client and load balancer must be present
  • The discovery locator auto-creates routes at /service-id/**
  • Disable or scope it in production for safety

This is the backbone of dynamic, resilient routing.

Можно начать бесплатно

Изучай API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
12
Уроки
48

Часто задаваемые вопросы

Урок «URI lb:// и локатор обнаружения» бесплатный?

Да — полный текст урока «URI lb:// и локатор обнаружения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway), подпишись на CoddyKit PRO. Курс API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) содержит 4 уроков всего.

Чему я научусь в уроке «URI lb:// и локатор обнаружения»?

Разберитесь, как Spring Cloud Gateway разрешает схему lb:// через обнаружение сервисов и как автоматически создаёт маршруты для зарегистрированных сервисов. Ты практикуешь API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway)?

Предыдущий опыт не требуется. API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «URI lb:// и локатор обнаружения»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway)?

Да. Каждый урок API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway) включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Интеграция с Eureka и Consul
  2. Динамическая маршрутизация с обнаружением служб
  3. Балансировка нагрузки с Spring Cloud LoadBalancer
  4. URI lb:// и локатор обнаружения
← Назад к API Gateway & Reverse Proxy (Nginx + Spring Cloud Gateway)