2012-10-16 17 views
5

में एक POST विधि का उपयोग करें, मुझे ट्रिगर निष्पादित होने पर POST (HTTP विधि) कुछ बाहरी URL पर कुछ जानकारी चाहिए। मुझे पता है कि ट्रिगर्स का उपयोग करते समय बहुत सारी सुरक्षा और प्रदर्शन प्रभाव हैं, इसलिए मुझे डर है कि यह इस तरह की प्रसंस्करण करने का स्थान नहीं है। लेकिन वैसे भी मैं समस्या को कैसे पहुंचा सकता हूं इस बारे में कुछ फीडबैक या विचार पाने के लिए इसे पोस्ट कर रहा हूं। कुछ विचार:एक एमएसएसक्यूएल ट्रिगर

  • ट्रिगर में निकाला गया लेनदेन असीमित हो सकता है।
  • प्रक्रिया को प्राधिकरण
  • का ख्याल रखना चाहिए अंतिम URL इंटरनेट पर एक PHP स्क्रिप्ट है।

वास्तव में इस निष्पादन को ट्रिगर करने के लिए एक तालिका में एक रिकॉर्ड या एक रिकॉर्ड होना चाहिए, इसलिए मुझे इस ट्रिगर का उपयोग करना चाहिए क्योंकि मैं (तृतीय पक्ष) एप्लिकेशन को स्पर्श नहीं कर सकता।

एक तरफ नोट पर, सेवा ब्रोकर पर विचार करने के लिए कुछ हो सकता है? किसी भी विचार का स्वागत किया जाएगा।

उत्तर

7

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

यही कारण है कि एक परत को पेश करने के लिए सर्वोपरि है जो HTTP कॉल से ट्रिगर को डीक्यूलेट करता है, और यह कतार के माध्यम से किया जाता है। कतार के रूप में उपयोग की जाने वाली तालिका या सेवा ब्रोकर कतार, या यहां तक ​​कि एक एमएसएमक्यू कतार भी कॉल करने के लिए है।

  • ट्रिगर enqueues (डालता है) एक अनुरोध HTTP कॉल के लिए लेन-देन को चलाई ट्रिगर करता है के बाद किए जाने के लिए
  • , अनुरोध विपंक्ति करने
  • एक उपलब्ध है: सरल समाधान use a table as a queue है बाहरी अनुप्रयोग है कि मॉनिटर (चुनाव) कतार अनुरोध ऊपर उठाता है और कस्टम HTTP पर कॉल

सेवा ब्रोकर का लाभ देता है तालिकाओं के रूप में कतारों Internal Activation है, जो अपने HTTP हैंडलिंग कोड ऑन चलाने के लिए अनुमति होगी मांग डब्ल्यू मुर्गी मतदान के बजाए कतार में संसाधित होने वाली चीजें हैं। लेकिन एसक्यूएलसीएलआर के माध्यम से, इंजन के अंदर से HTTP कॉल करना, कुछ बीमार सलाह दी गई है। HTTP की तरह कुछ एक्सेस करने के लिए बाहरी प्रक्रिया बहुत बेहतर है और इसलिए सेवा ब्रोकर की अतिरिक्त जटिलता की आवश्यकता नहीं है।

+0

यह ** बहुत ** उपयोगी उत्तर था, धन्यवाद। – drcelus

संबंधित मुद्दे