Aztec Δημοσ. 5 Οκτωβρίου 2015 Δημοσ. 5 Οκτωβρίου 2015 Καλησπέρα σε όλους . Σε ενα συστημα όπως rabbit mq , jms etc είναι ορθο να χρησιμοποιείται η error queue για application logic errors ? Δηλαδη ας πουμε ο consumer πρέπει να τσεκαρει βασει του μηνυματος καποια πράγματα στην βαση και να κανει μερικα updates inserts etc. Αν κάποιο απο αυτα αποτύχει παντα θεωρούσα οτι πρέπει να υπάρχει ενα response με το λάθος στην περιπτωση που ο publisher και ο subscriber πρεπει να επιτελέσουν συμπληρωματικο εργο . Γενικά ειναι θεμιτο να χρησιμοποιειται η error queue για application logic errors ?
defacer Δημοσ. 5 Οκτωβρίου 2015 Δημοσ. 5 Οκτωβρίου 2015 Define "application logic errors".Αν κάτι είναι logic error με την ευρέως διαδεδομένη έννοια τότε μάλλον όχι γιατί τι νόημα έχει; Στη γενική περίπτωση κάτι πήγε στραβά σαφώς έχει νόημα (μη πω είναι ο μόνος τρόπος αν το να τα αντιμετωπίζεις όλα manually δεν είναι επιλογή) εφόσον αν έχεις error και ο error handler έχει πάλι error κλπ. Με μια queue που τυπικά σου παρέχει guaranteed delivery, requeueing και φυσικά τη δυνατότητα να "αντικαταστήσεις" αυτό που έκανες consume με κάτι άλλο λύνεις τα σημαντικότερα πρακτικά προβλήματα του συστήματος.
Aztec Δημοσ. 5 Οκτωβρίου 2015 Μέλος Δημοσ. 5 Οκτωβρίου 2015 (επεξεργασμένο) Defacer εννοω οτι πχ στέλνω κάποιες τιμές το συστημα τσεκάρει αν υπάρχει ας πούμε το προιον και αν δεν το βρει βγάζει error . Το θέμα ειναι οτι επειδή εχω δει μονο συστημα με response δεν εχω δει να συστημα να κανει χρηση της error queue για τέτοια validations Για παραδειγμα καταλαβαινω οτι αν ζητησεις να χρεωθει ενας καταθετικος λογαριαμος που δεν εχει υπολοιπο εχει νοημα να γυρισεις καποια απαντηση με το μηνυμα λαθους. Δεν νομιζω οτι ειναι λογικο να το αφησεις σε μια ουρα προς διερευνηση Το application logic ήταν μαλλον ατυχης χαρακτηρισμός Επεξ/σία 5 Οκτωβρίου 2015 από Aztec
defacer Δημοσ. 8 Οκτωβρίου 2015 Δημοσ. 8 Οκτωβρίου 2015 Το θέμα με τις queues είναι όχι τόσο το ασύγχρονο της υπόθεσης αλλά οι υπόλοιπες εγγυήσεις που σου προσφέρει σε συνδυασμό με το γεγονός ότι είναι γενικά distributed σύστημα που κάνει scale (αν δεν υπάρχει τουλάχιστον η προοπτική και μιλάμε απλά για 1 producer/1 consumer υπάρχουν και πιο κατάλληλα ίσως εργαλεία για τη δουλειά).
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα