माइक्रोसर्विसेज आर्किटेक्चर का सुझाव है कि प्रत्येक सेवा को अपना डेटा संभालना चाहिए। इसलिए किसी भी सेवा (सेवा ए) अन्य सेवा (सेवा बी) के स्वामित्व वाले डेटा पर निर्भर किसी भी डेटा को सीधे डीबी कॉल करके नहीं बल्कि दूसरी सेवा (सेवा बी) द्वारा प्रदान की गई एपीआई के माध्यम से एक्सेस करनी चाहिए।माइक्रोस्कोर्सेस: विदेशी कुंजी रिश्तों को कैसे संभालना है
तो माइक्रोसॉर्विसेज सर्वोत्तम प्रथाओं को विदेशी कुंजी बाधाओं की जांच करने का सुझाव देता है।
उदाहरण: मैं उत्पादों के लिए डिलीवरी फीचर (माइक्रोस्कोस 1) विकसित कर रहा हूं और कुछ उत्पाद केवल कुछ ही स्थानों पर वितरित किए जा सकते हैं जैसा कि केवल उत्पाद माइक्रो सेवा (mircoservice 2) के लिए उपलब्ध उत्पादों तालिका में उल्लिखित है।
मैं कैसे सुनिश्चित कर सकता हूं कि माइक्रोस्कोस 1 (यानी डिलीवरी सुविधा) एक असुरक्षित स्थान पर ऑर्डर नहीं लेती है। मेरे पास यह सवाल है क्योंकि डिलीवरी सुविधा सीधे उत्पाद डेटाबेस तक नहीं पहुंच सकती है, इसलिए डिलिवरी डेटा बेस में डिलीवरी ऑर्डर होने पर डीबी स्तर पर कोई बाधा लागू नहीं होती है (यह देखने के लिए कोई जांच संभव नहीं है कि कोई विदेशी कुंजी मिलान उत्पाद डेटाबेस में मौजूद है या नहीं या टेबल)।
महान जवाब में मदद करता है। मैं एपीआई कॉल का उपयोग करता हूं, लेकिन इसे किसी अन्य सेवा से डेटा की सॉर्टिंग और पेजिनेशन की भी आवश्यकता होती है। क्या आप उस मामले के लिए सबसे अच्छा तरीका जानते हैं? – tranceholic
आपको पेजिंग से संबंधित पैरामीटर जोड़ना चाहिए और अपने एपीआई को सॉर्ट करना चाहिए। फिर सही क्रम के साथ सही पृष्ठ प्राप्त करने की ज़िम्मेदारी एपीआई के उपभोक्ताओं द्वारा ली जाएगी। ग्राफिकल जैसे एपीआई को परिभाषित करने के लिए उपयोग की जाने वाली कुछ तकनीकें हैं। जहां तक मुझे पता है, उन प्रौद्योगिकियों में पहले से ही सॉर्टिंग और पेजिनेशन विशेषताएं हैं। यदि आप इस तरह की तकनीक का उपयोग नहीं कर रहे हैं, तो आप बस अपने क्लाइंट से पैरामीटर प्राप्त कर सकते हैं और पृष्ठों के साथ सॉर्ट किए गए डेटा को वापस करने के लिए उनका उपयोग कर सकते हैं। –