Por qué los desarrolladores crean microservicios basados en proxy

Por qué los desarrolladores crean microservicios basados en proxy

El auge de los microservicios basados en proxy: revelando la arquitectura

La esencia de los microservicios basados en proxy

Las arquitecturas de microservicios basadas en proxy interponen un proxy de red ligero entre las instancias de servicio y el mundo externo, ya sean otros servicios o clientes. Este proxy, a menudo llamado "sidecar", es más que un simple agente de tráfico: es el centinela silencioso que intercepta, inspecciona y transforma las solicitudes a medida que se deslizan por la red efímera de microservicios.

¿Por qué adoptar este enfoque?

  • Separación de preocupaciones:Descargar preocupaciones transversales (seguridad, observabilidad, confiabilidad) de la lógica empresarial
  • Aplicación de políticas uniformes: Centralizar el control de acceso, la limitación de velocidad y la interrupción de circuitos
  • Patrones de resiliencia: Inyectar reintentos, retrocesos y tiempos de espera de forma transparente
  • Observabilidad:Capturar seguimientos y métricas sin modificar el código
  • Seguridad de confianza cero:Cifre todo el tráfico y verifique las identidades automáticamente

Anatomía arquitectónica: cómo los proxies encarnan el espíritu de los microservicios

Patrón de sidecar

Cada módulo de servicio cuenta con un proceso proxy; Envoy, Linkerd o HAProxy son opciones comunes. El tráfico destinado al servicio se enruta a través del sidecar, que aplica políticas de red, recopila telemetría y gestiona el cifrado mTLS.

Ejemplo de manifiesto (Kubernetes + Istio):

apiVersion: v1 kind: Pod metadatos: nombre: poets-service especificación: contenedores: - nombre: poets-app imagen: registry.example.com/poets:latest - nombre: istio-proxy imagen: docker.io/istio/proxyv2:1.18.0 args: ["proxy", "sidecar"]

Istio inyecta automáticamente el proxy istio sidecar, tejiendo un tapiz invisible de control alrededor de su servicio.

Service Mesh: La red como un organismo vivo

Una malla de servicios, como Istio, Linkerd, o Consul Connect, orquesta la configuración y el ciclo de vida de estos servidores proxy, haciendo que la red de servicio a servicio sea programable y observable.

Recurso:
Documentación oficial de Envoy Proxy
Arquitectura de Linkerd

Ventajas prácticas: una tabla de compensaciones

Característica Microservicios basados en proxy Microservicios tradicionales
Rastreo distribuido Nativo, transparente Instrumentación manual
mTLS en todas partes Automatizado Responsabilidad de la aplicación
Disrupción de circuito Declarativo, basado en políticas Explícito en el código
Limitación de velocidad Centralizado, dinámico Descentralizado, estático
Lanzamientos de Canary División de tráfico en el proxy Manejado por el balanceador de carga
Descubrimiento de servicios Incorporado, dinámico Se necesita registro externo
Aislamiento de fallos Por solicitud, a nivel de proxy Código o nivel infra

Esta mesa susurra la historia de un mundo donde la red ya no es un lastre, sino un lienzo para la innovación.

Patrones procesables: Implementación de microservicios basados en proxy

1. Implementación de un proxy sidecar

En Kubernetes, la inyección de sidecar se puede automatizar con herramientas como Istio o Linkerd.

Ejemplo de Istio paso a paso

  1. Instalar Istio:
    intento
    curl -L https://istio.io/downloadIstio | sh -
    cd istio-*
    exportación RUTA=$PWD/bin:$PATH
    istioctl install --set perfil=demo -y
    Espacio de nombres de etiqueta de kubectl predeterminado istio-injection=enabled
  2. Implemente su servicio:
    "`yaml
    Versión de API: v1
    tipo: Servicio
    metadatos:
    nombre: poetas-app
    especulación:
    puertos:

    • puerto: 80
      nombre: http
      selector:
      aplicación: poetas

apiVersion: aplicaciones/v1
tipo: Implementación
metadatos:
nombre: poetas-despliegue
especulación:
réplicas: 1
selector:
etiquetas de coincidencia:
aplicación: poetas
plantilla:
metadatos:
etiquetas:
aplicación: poetas
especulación:
contenedores:
– nombre: poetas-app
imagen: registry.example.com/poets:latest
“`
La inyección de sidecar agregará automáticamente el proxy Envoy; no más texto repetitivo y engorroso.

  1. Aplicar la política de tráfico:
    yaml
    Versión de API: networking.istio.io/v1alpha3
    tipo: DestinationRule
    metadatos:
    nombre: poetas-destino
    especulación:
    anfitrión: poetas-app
    Política de tráfico:
    grupo de conexiones:
    TCP:
    MaxConexiones: 1

2. Observabilidad sin cambios en el código

Una vez instalados los proxies, la telemetría fluye como el vino en una velada francesa. Istio y Linkerd exponen las métricas a través de los endpoints de Prometheus, listas para... Grafana tableros de control.

Obtener métricas:

kubectl -n istio-system port-forward svc/prometheus 9090 # Abra http://localhost:9090 para consultar métricas

3. Implementación de mTLS sin intervención del desarrollador

Configure la autenticación de pares y las reglas de destino, y la malla cifra toda la comunicación de servicio a servicio.

Ejemplo de autenticación de pares de Istio:

apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadatos: nombre: predeterminado espacio de nombres: predeterminado especificación: mtls: modo: ESTRICTO

Ya no es necesario fabricar manualmente túneles TLS en cada servicio.

Ejemplo a nivel de código: Desbloqueo de circuitos sin código

Regla de destino (Istio) para interrupción del circuito:

apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: circuit-breaker spec: host: poets-app trafficPolicy: outlierDetection: consecutivo5xxErrors: 1 interval: 1s baseEjectionTime: 30s maxEjectionPercent: 100

Este encantamiento YML le otorga resiliencia a su servicio, sin necesidad de realizar cambios en el código.

Cuándo no utilizar microservicios basados en proxy

Guión Malla basada en proxy Alternativa más sencilla
< 5 servicios, baja complejidad Arriba Comunicación directa
Servicios de borde, solo para público general Innecesario Puerta de enlace API
Entornos con recursos muy limitados Puede ser pesado Proxies ligeros

Lecturas y recursos adicionales

El pulso de la nube moderna

Las arquitecturas de microservicios basadas en proxy, en su intrincada coreografía de proxies y políticas, ejemplifican la búsqueda de orden y creatividad en la era digital. La red, antaño un turbio submundo, se convierte ahora en un escenario: cada proxy, un actor, cada solicitud, un verso fugaz en la poesía de los sistemas distribuidos.

Teófilo Beauvais

Teófilo Beauvais

Analista de proxy

Théophile Beauvais tiene 21 años y es analista de servidores proxy en ProxyMist, donde se especializa en seleccionar y actualizar listas completas de servidores proxy de todo el mundo. Con una aptitud innata para la tecnología y la ciberseguridad, Théophile se ha convertido en un miembro fundamental del equipo, ya que garantiza la entrega de servidores proxy SOCKS, HTTP, elite y anónimos confiables de forma gratuita a usuarios de todo el mundo. Nacido y criado en la pintoresca ciudad de Lyon, la pasión de Théophile por la privacidad digital y la innovación surgió a una edad temprana.

Comentarios (0)

Aún no hay comentarios aquí, ¡puedes ser el primero!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *