عندما تتعقد شبكة الخدمات المصغرة (Microservices) وتصبح لدينا مئات الخدمات تتحدث مع بعضها، يصبح تتبع الأخطاء كابوساً. Envoy Proxy صمم ليكون "Sidecar": أي أنه يرافق كل خدمة ويدير اتصالاتها.
نمط Sidecar Proxy
بدلاً من وجود بروكسي واحد عملاق في المنتصف، نضع Envoy صغيراً بجانب كل تطبيق. التطبيق يتحدث مع Envoy المحلي، وEnvoy يتحدث مع العالم. هذا يشكل ما يسمى بـ Service Mesh (مثل Istio).
لماذا Envoy؟
- أداء عالي (C++): سريع جداً ولا يؤثر على زمن الاستجابة.
- دعم gRPC: يدعم بروتوكولات التواصل الحديثة من الدرجة الأولى.
- قابلية المراقبة (Observability): يصدر كمية هائلة من المقاييس (Metrics) التي تساعدك على فهم ما يحدث في شبكتك بدقة.
Envoy vs Traefik vs HAProxy
Traefik ممتاز كـ Ingress (بوابة دخول) للكتلة (Cluster). HAProxy ملك الـ Edge Load Balancing. أما Envoy فهو الملك داخل الـ Cluster (Service-to-Service communication).