एक खोज सुविधा को आपके द्वारा उल्लिखित दो सेवाओं से अलग जिम्मेदारी के साथ एक अलग सेवा के रूप में तैयार किया जा सकता है। इसलिए, यहां दृष्टिकोण एक नई सेवा ('खोज') बनाने के लिए हो सकता है और क्या यह दोनों सेवाओं के डेटा की एक प्रति को एक ऐसे रूप में संग्रहीत करता है जो अनुक्रमण और खोज करने के लिए आसान है, संभवतः जल्दी से परिणाम देने के लिए भी इसे असामान्य कर दिया गया है। वांछित प्रारूप।
इसलिए, उदाहरण के लिए आप विरासत SQL डेटाबेस का उपयोग कर सकते हैं जैसे कि mySql, अन्य microservice जैसे कि MongoDB, और नई खोज सेवा का उपयोग करते हुए डेटा के साथ elasticsearch का उपयोग करके पहले से ही एक साथ चिपकाया गया (अधिक असामान्य)। निश्चित रूप से विवरण इस बात पर निर्भर करेगा कि आपको किस तरह की खोजों की ज़रूरत है।
थ्रूपुट को बढ़ाने और सेवाओं के बीच युग्मन को कम करने के लिए दो सेवाओं के डेटा को एक इवेंट बस जैसे काफ्का या हेमीज़ के माध्यम से खोज सूचकांक में अतुल्यकालिक रूप से स्थानांतरित किया जाएगा। दोनों सेवाओं में से किसी एक में परिवर्तन से खोज सेवा को सूचित करने वाला एक ईवेंट भी भेजा जाएगा ताकि उसका डेटा भी अपडेट किया जा सके।
बेशक सेवाओं में और खोज सेवा में परिवर्तन के बीच एक अतिरिक्त देरी की लागत है, लेकिन चूंकि माइक्रोसिस्टर्स आमतौर पर सिस्टम में उपयोग किए जाते हैं जो वितरित किए जाते हैं, कुछ देरी और अस्थायी विसंगतियां वैसे भी अपरिहार्य हैं। एक अतिरिक्त सेवा होने और डेटा की एक प्रति के लिए अतिरिक्त भंडारण का उपयोग करना जो पहले से ही अन्य दो सेवाओं में है, माइक्रोसेरो का उपयोग करके अत्यधिक वितरित और स्केलेबल सिस्टम होने की एक विशिष्ट लागत भी है।