मैं एक प्रतिक्रियाशील माइक्रोसर्विस सिस्टम तैयार कर रहा हूं, जहां सेवाओं के बीच संचार - अनुरोध प्रसंस्करण पाइपलाइन - async (काफ्का का उपयोग करके) है। सिस्टम VMs के क्लस्टर का प्रबंधन करेगा। स्प्रिंग वेबफ्लक्स को ढांचे के रूप में उपयोग करने के लिए पैनिंग।

उदाहरण के लिए, नया VM बनाने का अनुरोध इस तरह दिख सकता है:

  1. एपीआई गेटवे
  2. सुरक्षा सत्यापन
  3. यूजरस्पेस में VM बनाएं
  4. VM के लिए शेड्यूल संसाधन
  5. सफल/असफल होने पर उपयोगकर्ता को सूचना भेजें

सभी चरण अनुक्रमिक हैं, फिर भी async, काफ्का के लिए धन्यवाद। चरणों को अलग माइक्रोसर्विसेज द्वारा संसाधित किया जाता है।

इसके अलावा, क्लाइंट GET अनुरोध जारी करना चाहेगा, जैसे VMs की सूची प्राप्त करना, या क्लस्टर स्थिति के बारे में जानकारी प्राप्त करना। और मुझे नहीं पता कि कैसे। मैं निम्नलिखित समाधानों के बारे में सोच सकता हूं:

  1. एपीआई गेटवे से अन्य सेवाओं, कुल डेटा और वापसी के लिए अनुरोध (तुल्यकालिक) प्राप्त करें।
  2. उपयोगकर्ता के लिए सूचनाओं में पहले से ही सभी आवश्यक डेटा हैं, इसलिए मैं सभी उपयोगकर्ता-क्वेरी करने योग्य डेटा को समर्पित सेवा (डेटाबेस में सहेजें) में एकत्र कर सकता हूं और वहां एपीआई गेटवे से जीईटी अनुरोधों को अग्रेषित कर सकता हूं।
0
Артём zэ Капитан 10 सितंबर 2020, 10:21

1 उत्तर

सबसे बढ़िया उत्तर

मैं वास्तव में इस तरह की सेवाओं में एक पाइपलाइन का उपयोग नहीं करने का सुझाव दूंगा और एक ऐसी सेवा है जो इस गाथा का प्रबंधन करती है और गाथा की स्थिति को ट्रैक करती है।

  1. सागा प्रबंधन सेवा के लिए एपीआई गेटवे फॉरवर्ड अनुरोध
  2. सागा प्रबंधन सेवा सुरक्षा सत्यापन सेवा को सूचित करती है
  3. सुरक्षा सत्यापन सेवा घटना प्रकाशित करती है
  4. 3 से घटना के आधार पर, गाथा प्रबंधन VM निर्माण सेवा को सूचित कर सकता है
  5. VM निर्माण सेवा उपयोगकर्ता स्थान में VM बनाती है, ईवेंट प्रकाशित करती है
  6. 5 से घटना के आधार पर, गाथा प्रबंधन संसाधन अनुसूचक सेवा को सूचित कर सकता है
  7. संसाधन शेड्यूलर सेवा संसाधनों को शेड्यूल करती है, ईवेंट प्रकाशित करती है
  8. 7 से घटना के आधार पर, सागा प्रबंधन अधिसूचना भेजता है

गाथा प्रबंधक विफलताओं का जवाब दे सकता है (उदाहरण के लिए यदि संसाधनों को शेड्यूल नहीं किया जा सकता है तो वीएम निर्माण को वापस लाकर या सेवाओं को पोकिंग करके यह निर्धारित करने के लिए कि क्या उन पर विचार करना समझ में आता है) और अन्य सेवाओं के लिए अतिरिक्त समृद्ध घटनाओं को प्रकाशित करने के लिए चीजों की प्रभावी ढंग से व्याख्या कर सकता है (उदाहरण के लिए) एक सेवा जो VMs को सूचीबद्ध कर सकती है, संभवतः VM निर्माण और संसाधन शेड्यूलिंग से संबंधित घटनाओं में रुचि रखती है, न कि केवल सूचनाएं) और इंटरैक्टिव अनुरोधों का जवाब देती है।

1
Levi Ramsey 12 सितंबर 2020, 02:00