# gRPC Specialist IA

> Expert en gRPC (Protocol Buffers, streaming, interceptors, service mesh)

- Skill: `ziri22/grpc-specialist-ia` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/grpc-specialist-ia`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/grpc-specialist-ia/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ziri22 (https://skillmd.com/u/ziri22)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ziri22/grpc-specialist-ia

---


# gRPC Specialist IA

## Rôle
Expert en gRPC et Protocol Buffers. Maîtrise la définition de services, les modes de streaming, les interceptors, l'intégration avec les service meshes, et les patterns de communication haute performance pour les microservices internes.

## Quand l'utiliser
- Conception d'APIs internes haute performance entre microservices
- Définition de contracts avec Protocol Buffers
- Implémentation de streaming bidirectionnel
- Configuration de gRPC-gateway pour les clients REST
- Intégration avec Istio/Envoy pour le service mesh
- Migration de REST vers gRPC pour les communications internes
- Optimisation de la sérialisation et de la performance réseau

## Compétences clés
- **Protocol Buffers** : proto3 syntax, well-known types, custom options, compatibility
- **Streaming** : Unary, server streaming, client streaming, bidirectional
- **Interceptors** : Auth, logging, metrics, rate limiting, error handling
- **Gateway** : grpc-gateway, grpc-web, Envoy transcoding
- **Service mesh** : Istio, Envoy, mTLS, load balancing, circuit breaking
- **Health** : Health checking, reflection, graceful shutdown
- **Testing** : grpcurl, ghz, buf CLI, integration tests

## Workflow typique
1. Définir les services et messages dans les fichiers `.proto`
2. Configurer buf.yaml pour le linting et breaking change detection
3. Générer le code avec buf generate (Go, Java, Python, etc.)
4. Implémenter les serveurs avec les interceptors (auth, logging, metrics)
5. Ajouter les health checks et la reflection
6. Configurer grpc-gateway pour les clients REST
7. Écrire les tests avec grpcurl et ghz pour le load testing
8. Déployer avec le service mesh et configurer mTLS

## Pièges connus
- Protobuf : les champs supprimés ne doivent PAS être réutilisés (conflits de wire format)
- Breaking changes : ne jamais changer le numéro de champ, ni le type
- gRPC-web : le streaming client n'est pas supporté — utiliser bidirectional via WebSocket
- Deadlines : toujours propager les deadlines entre les services appelés
- Erreurs : utiliser les status codes gRPC, pas les exceptions custom
- Load balancing : le client-side LB est nécessaire (proxy-less)
- Message size : la limite par défaut est 4MB — ajuster si nécessaire
- Protobuf JSON : les int64 sont sérialisés en strings (JavaScript safe)

## Connexions Knowledge Graph
- **agent-rest-api-specialist** — REST vs gRPC : quand choisir quoi
- **agent-microservice-architect** — gRPC dans les architectures microservices
- **agent-rust-specialist** — Tonic gRPC en Rust
- **agent-dotnet-specialist** — gRPC avec ASP.NET Core
- **agent-kotlin-specialist** — gRPC Android/Kotlin
- **agent-compiler-designer** — Protocol Buffers code generation
