Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

Sql सर्वर सेवा ब्रोकर वार्तालाप समूह

वार्तालाप समूह लॉकिंग के लिए उपयोग किए जाने वाले स्थानीय प्राइमिटवे हैं। किसी वार्तालाप समूह के संदेशों में आदेश की कोई गारंटी नहीं होती है, और वार्तालाप समूह तार-तार नहीं होते हैं।

मैसेज ऑर्डर की गारंटी सर्विस ब्रोकर द्वारा बातचीत के दौरान दी जाती है। इसलिए संसाधित संदेशों के क्रम को संसाधित करने के क्रम को बनाए रखने के लिए, उन्हें उसी वार्तालाप पर भेजें।

एक दूसरे से संबंधित वार्तालापों के समूह को समूहीकृत करने के लिए वार्तालाप समूहों की आवश्यकता होती है। दोनों GET CONVERSATION GROUP और RECEIVE verbs गारंटी देते हैं कि वे एक संपूर्ण रूपांतरण समूह को लॉक कर देंगे, इस प्रकार किसी भी अन्य थ्रेड को संबंधित संदेशों को संसाधित करने से रोकेंगे। उदाहरण के लिए एक यात्रा स्थल पर विचार करें। इसे हॉलिडे पैकेज बुक करने के अनुरोध के साथ एक संदेश प्राप्त होता है। नतीजतन यह होटल बुकिंग सेवा के साथ बातचीत शुरू करता है और एक कमरा आरक्षित करने का अनुरोध भेजता है, यह एयरलाइन आरक्षण सेवा के साथ बातचीत शुरू करता है और यात्रा आरक्षण मांगता है, यह कार किराए पर लेने वाली एजेंसी सेवा के साथ बातचीत शुरू करता है और मांगता है कार आरक्षण। इसके द्वारा बनाई गई ये तीन नई बातचीत एक ही समूह में हैं, जिस पर अनुरोध प्राप्त हुआ था (एप्लिकेशन ने WITH RELATED_CONVERSATION का उपयोग किया है) उन सभी 3 पर BEGIN DIALOG का क्लॉज)। यह तब कतार में संदेशों को संसाधित करने के लिए प्रतिबद्ध और आगे बढ़ता है। बाद में इन 3 सहसंबद्ध अनुरोधों से प्रतिक्रियाएं काफी यादृच्छिक समय पर आने लगती हैं। मान लें कि होटल की प्रतिक्रिया पहले आती है। संदेश आवेदक द्वारा उठाया जाता है और यह होटल से प्रतिक्रिया के साथ अनुरोध की स्थिति को अद्यतन करने के लिए आगे बढ़ता है। उसी समय, एयरलाइन की प्रतिक्रिया आती है। यदि किसी अन्य थ्रेड को इसे लेने की अनुमति दी जाती है, तो यह उसी की स्थिति को अपडेट करने का प्रयास करेगा। अनुरोध, इस प्रकार होटल प्रतिक्रिया को संसाधित करने वाले धागे के खिलाफ अवरुद्ध या यहां तक ​​​​कि गतिरोध के परिणामस्वरूप। जब होटल प्रतिक्रिया संसाधित होती है, तो थ्रेड प्रतिबद्ध होता है और इस प्रकार पूरे वार्तालाप समूह को अनलॉक करता है, जिससे किसी भी थ्रेड (स्वयं सहित) को एयरलाइन प्रतिक्रिया लेने और इसे संसाधित करने की इजाजत मिलती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल सर्वर (टी-एसक्यूएल उदाहरण) में सभी अक्षम जांच बाधाओं को कैसे वापस करें

  2. बिना समुच्चय वाली पंक्तियों और स्तंभों को स्थानांतरित करें

  3. मैं PHP पीडीओ के साथ मैक से एसक्यूएल सर्वर से कैसे जुड़ सकता हूं?

  4. SQL सर्वर में OFFSET FETCH NEXT का उपयोग करके पेजिंग लागू करना

  5. SQL सर्वर में varchar को डेटाटाइम में बदलें