मुझे आश्चर्य है कि क्या डेटाबेस में एसिंक्रोनस कॉल करने का कोई तरीका है?
उदाहरण के लिए, कल्पना करें कि मेरे पास एक बड़ा अनुरोध है जिसे संसाधित करने में बहुत लंबा समय लगता है, मैं अनुरोध भेजना चाहता हूं और एक सूचना प्राप्त करना चाहता हूं जब अनुरोध एक मान लौटाएगा (श्रोता / कॉलबैक या कुछ और पास करके)। मैं डेटाबेस का जवाब देने के लिए प्रतीक्षा को अवरुद्ध नहीं करना चाहता।
मैं इस बात पर विचार नहीं करता कि थ्रेड्स के पूल का उपयोग करना एक समाधान है क्योंकि यह कोई पैमाना नहीं है, भारी समवर्ती अनुरोधों के मामले में यह बहुत बड़ी संख्या में थ्रेड्स पैदा करेगा।
हम नेटवर्क सर्वर के साथ इस तरह की समस्या का सामना कर रहे हैं और हमने प्रति कनेक्शन एक थ्रेड होने से बचने के लिए चुनिंदा / पोल / एपोल सिस्टम कॉल का उपयोग करके समाधान पाया है। मैं सोच रहा हूँ कि डेटाबेस अनुरोध के साथ समान सुविधा कैसे हो?
नोट: मुझे पता है कि फिक्स्डह्रेडपूल का उपयोग करना एक अच्छा काम हो सकता है, लेकिन मुझे आश्चर्य है कि किसी ने वास्तव में अतुल्यकालिक (अतिरिक्त थ्रेड के उपयोग के बिना) सिस्टम विकसित नहीं किया है।
** अद्यतन **
वास्तविक व्यावहारिक समाधानों की कमी के कारण, मैंने खुद एक पुस्तकालय (फिनाले का हिस्सा) बनाने का फैसला किया: फिगले-मस्कल । यह मूल रूप से mysql अनुरोध / प्रतिक्रिया को डीकोड / डिकोड करता है, और हुड के नीचे फ़िनागल / नेट्टी का उपयोग करता है। यह बहुत बड़ी संख्या में कनेक्शन के साथ भी बहुत अच्छी तरह से तराजू।