حول Envoy
خادم وكيل عالي الأداء مبني بلغة C++ لنشر الخدمات المصغرة السحابية.
يعمل Envoy كطبقة بيانات عالمية لبنيات شبكات الخدمات، ويوفر ميزات متقدمة للتوجيه وموازنة التحميل والمراقبة. تم إنشاؤه في Lyft وهو الآن مشروع متخرج من CNCF تستخدمه شركات مثل Airbnb وNetflix وUber.
القدرات الرئيسية
- ⚡ أداء عالي: تطبيق C++ مع بصمة ذاكرة صغيرة
- 🔀 مستقل عن البروتوكول: دعم أصلي لـ HTTP/1.1 وHTTP/2 وHTTP/3 وgRPC وTCP
- 🎯 توجيه ذكي: التوجيه على أساس المسار وتقسيم الحركة ومعالجة الرؤوس
- 🔄 أنماط المرونة: إعادة المحاولة التلقائية وقواطع الدائرة وإدارة المهلات
- 📊 مقاييس غنية: إحصائيات مدمجة وتتبع موزع وتسجيل الوصول
- 🔌 تكوين ديناميكي: واجهات برمجة تطبيقات xDS للتحديثات في وقت التشغيل بدون إعادة التشغيل
- 🛡️ الأمان أولاً: إنهاء TLS وTLS المتبادل والحد من المعدل والمصادقة
- 🌍 متعدد البروتوكولات: بروتوكولات WebSocket وMongoDB وRedis وPostgres
نظرة عامة على التكوين
تتضمن هذه الحزمة تكوينًا ثابتًا أساسيًا. لحالة الاستخدام الخاصة بك، يجب عليك:
- تحرير
envoy.yaml
لتحديد قواعد التوجيه الخاصة بك - تكوين مجموعات المنبع لخدمات الواجهة الخلفية الخاصة بك
- إعداد المستمعين لمنافذك وبروتوكولاتك المحددة
- إضافة مرشحات للمصادقة أو الحد من المعدل أو الميزات الأخرى
يوفر الإعداد الافتراضي:
- لوحة تحكم المسؤول على المنفذ 9901 للمراقبة وتصحيح الأخطاء
- مثال مستمع HTTP على المنفذ 10000
- تعريف مثال لخدمة المنبع
نقاط الوصول
- وحدة تحكم المسؤول:
http://envoy.stack.localhost:9901
- عرض التكوين والإحصائيات والحالة - نقطة نهاية الوكيل:
http://envoy.stack.localhost:10000
- نقطة دخول الحركة الرئيسية