WCF

2012-04-17 11 views
5

के माध्यम से उच्च-उपलब्धता RabbitMQ सर्वर जोड़ी के साथ काम कर रहा यह पता लगाने की क्या WCF के माध्यम से RabbitMQ क्लस्टर के साथ काम करने का सबसे अच्छा समाधान है कोशिश कर रहा हूँ।WCF

वर्तमान सेटअप:

  1. 2 आईआईएस वेब सर्वर (अधिनियम के रूप में संदेश पैदा करता है और संदेश पोस्ट ग्राहक WCF AMQP के माध्यम से क़तार में)।
  2. 2 RabbitMQ दलाल के साथ सर्वरों की मेजबानी की AMQP WCF सेवा है कि भेजे गए संदेशों को सुनता साथ
  3. Windows सेवा (कार्यकर्ता) (मिरर कतार, rabbit1 और rabbit2 साथ क्लस्टर)।

खरगोश 1 नोड और कार्यकर्ता को वेब रोल पोस्ट संदेश खरगोश 1 नोड को भी सुनते हैं। rabbit1 नोड प्रणाली (दोनों वेब और कार्यकर्ता) में विफल रहता है rabbit2 करने के लिए स्विच करना चाहिए। और वह सवाल है, कैसे बल्कि आवेदन कोड में कनेक्शन विफलताओं से निपटने की तुलना में अधिक सुंदर तरीके से इस लागू करने के लिए है।

पहली और केवल दृष्टिकोण मैं देख रहा हूँ अब मार्ग बैकअप अंतिमबिंदुओं सुविधा wcf4 उपयोग करने के लिए है। इस तरह से ग्राहक के पक्ष (वेब ​​भूमिका) पर समस्या का हल केवल लेकिन WCF सेवा की ओर (कार्यकर्ता भूमिका) पर समस्या का समाधान नहीं है।

उत्तर

3

एक तरीका है अपने सेवा होस्ट के चारों ओर एक रैपर बनाना, कनेक्शन स्ट्रिंग्स (जो कॉन्फ़िगरेशन से आ सकता है) की एक सूची संग्रहीत करने के लिए उपयोग किया जाता है।

सेवा गलती घटना है, जहां आप को बंद करने और एक अलग कनेक्शन स्ट्रिंग के साथ मेजबान फिर से खोलना कर सकते हैं करने के लिए कोई हैंडलर जोड़ें।