Envoy के बारे में
क्लाउड-नेटिव माइक्रोसर्विस डिप्लॉयमेंट के लिए निर्मित एक उच्च-प्रदर्शन C++ प्रॉक्सी।
Envoy सर्विस मेश आर्किटेक्चर के लिए एक सार्वभौमिक डेटा प्लेन के रूप में कार्य करता है, जो उन्नत रूटिंग, लोड बैलेंसिंग और अवलोकनीयता सुविधाएं प्रदान करता है। Lyft में बनाया गया और अब Airbnb, Netflix और Uber जैसी कंपनियों द्वारा उपयोग किया जाने वाला CNCF स्नातक प्रोजेक्ट है।
मुख्य क्षमताएं
- ⚡ उच्च प्रदर्शन: न्यूनतम मेमोरी फुटप्रिंट के साथ C++ कार्यान्वयन
- 🔀 प्रोटोकॉल अज्ञेयवादी: HTTP/1.1, HTTP/2, HTTP/3, gRPC और TCP के लिए मूल समर्थन
- 🎯 बुद्धिमान रूटिंग: पथ-आधारित रूटिंग, ट्रैफ़िक विभाजन और हेडर हेरफेर
- 🔄 लचीलापन पैटर्न: स्वचालित पुनः प्रयास, सर्किट ब्रेकर और टाइमआउट प्रबंधन
- 📊 समृद्ध मेट्रिक्स: अंतर्निहित आंकड़े, वितरित ट्रेसिंग और एक्सेस लॉगिंग
- 🔌 गतिशील कॉन्फ़िगरेशन: पुनरारंभ के बिना रनटाइम अपडेट के लिए xDS API
- 🛡️ सुरक्षा पहले: TLS समाप्ति, म्यूचुअल TLS, रेट लिमिटिंग और प्रमाणीकरण
- 🌍 मल्टी-प्रोटोकॉल: WebSocket, MongoDB, Redis, Postgres वायर प्रोटोकॉल
कॉन्फ़िगरेशन अवलोकन
इस स्टैक में एक बुनियादी स्थिर कॉन्फ़िगरेशन शामिल है। आपके उपयोग के मामले के लिए, आपको निम्न करना चाहिए:
- अपने रूटिंग नियमों को परिभाषित करने के लिए
envoy.yaml
संपादित करें - अपनी बैकएंड सेवाओं के लिए अपस्ट्रीम क्लस्टर कॉन्फ़िगर करें
- अपने विशिष्ट पोर्ट और प्रोटोकॉल के लिए श्रोताओं को सेट करें
- प्रमाणीकरण, रेट लिमिटिंग या अन्य सुविधाओं के लिए फ़िल्टर जोड़ें
डिफ़ॉल्ट सेटअप प्रदान करता है:
- निगरानी और डिबगिंग के लिए पोर्ट 9901 पर व्यवस्थापक डैशबोर्ड
- पोर्ट 10000 पर उदाहरण HTTP श्रोता
- नमूना अपस्ट्रीम सेवा परिभाषा
एक्सेस पॉइंट्स
- व्यवस्थापक कंसोल:
http://envoy.stack.localhost:9901
- कॉन्फ़िगरेशन, आंकड़े और स्वास्थ्य देखें - प्रॉक्सी एंडपॉइंट:
http://envoy.stack.localhost:10000
- मुख्य ट्रैफ़िक प्रवेश बिंदु