Pourquoi les développeurs créent des microservices basés sur des proxys

Pourquoi les développeurs créent des microservices basés sur des proxys

L'essor des microservices basés sur des proxys : dévoilement de l'architecture

L'essence des microservices basés sur des proxys

Les architectures de microservices basées sur des proxys interposent un proxy réseau léger entre les instances de service et le monde extérieur, qu'il s'agisse d'autres services ou de clients. Ce proxy, souvent appelé « side-car », est bien plus qu'un simple agent de la circulation : c'est une sentinelle silencieuse qui intercepte, inspecte et transforme les requêtes à mesure qu'elles circulent dans le maillage éphémère des microservices.

Pourquoi adopter cette approche ?

  • Séparation des préoccupations:Décharger les préoccupations transversales (sécurité, observabilité, fiabilité) de la logique métier
  • Application uniforme des politiques:Centraliser le contrôle d'accès, la limitation du débit et la coupure de circuit
  • Modèles de résilience: Injecter des nouvelles tentatives, des replis et des délais d'expiration de manière transparente
  • Observabilité: Capturez les traces et les métriques sans modification de code
  • Sécurité Zero Trust: Crypter tout le trafic et vérifier les identités automatiquement

Anatomie architecturale : comment les proxys incarnent l'éthique des microservices

Modèle de side-car

Chaque pod de service est accompagné d'un processus proxy : Envoy, Linkerd ou HAProxy sont des choix courants. Le trafic destiné au service est acheminé via le side-car, qui applique les politiques réseau, collecte la télémétrie et gère le chiffrement mTLS.

Exemple de manifeste (Kubernetes + Istio) :

apiVersion : v1 kind : Pod metadata : name : poets-service spec : conteneurs : - name : poets-app image : registry.example.com/poets:latest - name : istio-proxy image : docker.io/istio/proxyv2:1.18.0 args : ["proxy", "sidecar"]

Istio injecte automatiquement le istio-proxy side-car, tissant une tapisserie invisible de contrôle autour de votre service.

Service Mesh : le réseau comme organisme vivant

Un maillage de services, comme Istio, Linkerd, ou Consul Connect, orchestre la configuration et le cycle de vie de ces proxys, rendant le réseau de service à service programmable et observable.

Ressource:
Documentation officielle d'Envoy Proxy
Architecture Linkerd

Avantages pratiques : un tableau des compromis

Fonctionnalité Microservices basés sur des proxys Microservices traditionnels
Traçage distribué Natif, transparent Instrumentation manuelle
mTLS partout Automatisé Responsabilité de l'application
Disjoncteur Déclaration, basée sur des politiques Explicite dans le code
Limitation de débit Centralisé, dynamique Décentralisé, statique
Sorties de Canary Répartition du trafic au niveau du proxy Géré par l'équilibreur de charge
Découverte de services Intégré, dynamique Registre externe nécessaire
Isolation des pannes Par requête, au niveau du proxy Niveau code ou infrastructure

Ce tableau évoque un monde où le réseau n’est plus un handicap, mais une toile propice à l’innovation.

Modèles exploitables : mise en œuvre de microservices basés sur des proxys

1. Déploiement d'un proxy Sidecar

Dans Kubernetes, l'injection side-car peut être automatisée avec des outils comme Istio ou Linkerd.

Étape par étape : exemple Istio

  1. Installer Istio :
    frapper
    curl -L https://istio.io/downloadIstio | sh -
    cd istio-*
    exportation PATH=$PWD/bin:$PATH
    istioctl install --set profile=demo -y
    espace de noms d'étiquette kubectl par défaut istio-injection=enabled
  2. Déployez votre service :
    « `yaml
    Version de l'API : v1
    genre : Service
    métadonnées:
    nom : poets-app
    spécifications:
    ports:

    • port : 80
      nom : http
      sélecteur:
      application : poètes

Version de l'API : apps/v1
type : Déploiement
métadonnées:
nom : poètes-déploiement
spécifications:
répliques : 1
sélecteur:
Étiquettes de correspondance :
application : poètes
modèle:
métadonnées:
étiquettes:
application : poètes
spécifications:
conteneurs:
– nom : poets-app
image : registry.example.com/poets:latest
“`
L'injection Sidecar ajoutera automatiquement le proxy Envoy ; plus de code standard fastidieux.

  1. Appliquer la politique de circulation :
    yaml
    Version de l'API : networking.istio.io/v1alpha3
    type : DestinationRule
    métadonnées:
    nom : poètes-destination
    spécifications:
    hôte : poets-app
    Politique de trafic :
    connexionPool :
    tcp:
    maxConnections : 1

2. Observabilité sans modification de code

Une fois les proxys en place, la télémétrie circule comme un vin lors d'une soirée française. Istio et Linkerd exposent les métriques via les points de terminaison Prometheus, prêtes à être utilisées. Grafana tableaux de bord.

Extraire les métriques :

kubectl -n istio-system port-forward svc/prometheus 9090 # Ouvrez http://localhost:9090 pour interroger les métriques

3. Application de mTLS sans intervention du développeur

Configurez les règles d’authentification et de destination des homologues, et le maillage crypte toutes les communications de service à service.

Exemple d'authentification entre pairs Istio :

apiVersion : security.istio.io/v1beta1 kind : PeerAuthentication metadata : name : default namespace : default spec : mtls : mode : STRICT

Plus besoin de créer manuellement des tunnels TLS dans chaque service.

Exemple de niveau de code : coupure de circuit sans code

DestinationRule (Istio) pour la coupure de circuit :

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

Cette incantation YML confère à votre service de la résilience, aucune modification de code n'est requise.

Quand ne pas utiliser de microservices basés sur des proxys

Scénario Maillage basé sur un proxy Alternative plus simple
< 5 services, faible complexité Aérien Communication directe
Services Edge, réservés au public Inutile Passerelle API
Environnements aux ressources très limitées Peut être lourd Proxies légers

Lectures et ressources complémentaires

Le pouls du cloud moderne

Les architectures de microservices basées sur des proxys, avec leur chorégraphie complexe de proxys et de politiques, illustrent la quête d'ordre et de créativité de l'ère numérique. Le réseau, autrefois un monde souterrain obscur, devient désormais une scène : chaque proxy, chaque acteur, chaque requête, un vers fugace dans la poésie des systèmes distribués.

Théophile Beauvais

Théophile Beauvais

Analyste de proxy

Théophile Beauvais est un analyste proxy de 21 ans chez ProxyMist, où il se spécialise dans la conservation et la mise à jour de listes complètes de serveurs proxy du monde entier. Doté d'une aptitude innée pour la technologie et la cybersécurité, Théophile est devenu un membre essentiel de l'équipe, assurant la livraison gratuite de serveurs proxy SOCKS, HTTP, élite et anonymes fiables aux utilisateurs du monde entier. Né et élevé dans la ville pittoresque de Lyon, Théophile'sa passion pour la confidentialité numérique et l'innovation a été éveillée dès son plus jeune âge.

Commentaires (0)

Il n'y a pas encore de commentaires ici, vous pouvez être le premier !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *