Σε αυτή τη σελίδα
Φανταστείτε μια οθόνη υποστήριξης που χρειάζεται μία απάντηση: έχει πληρωθεί αυτή η παραγγελία; Το σύστημα πληρωμών ξέρει. Η ομάδα ενσωμάτωσης προτείνει να αντιγράψει όλες τις εγγραφές πληρωμών σε δεύτερη βάση, να κρατά το αντίγραφο ενημερωμένο και να το διαβάζει όταν ο χειριστής ανοίγει την παραγγελία. Είναι υποθετικό λειτουργικό παράδειγμα, όχι η αναλυτική περίπτωση της επίδειξης που παραπέμπουμε.
Ίσως το αντίγραφο χρειάζεται. Πρώτα ρωτήστε αν η οθόνη χρειάζεται μόνο μία εξουσιοδοτημένη απάντηση τώρα.
Μια τεχνική επίδειξη αναλυτικών ερωτημάτων μεταξύ υποδομών cloud δείχνει ερώτημα σε υπάρχουσες πηγές χωρίς να χτιστεί πρώτα μόνιμο αντίγραφο του πίνακα πηγής στον προορισμό. Η ίδια επίδειξη υλοποιεί και ενωμένο πίνακα, δείχνοντας ότι η απομακρυσμένη πρόσβαση και η αντιγραφή μπορούν να συνυπάρχουν στην ίδια ροή. Είναι πραγματική δυνατότητα προϊόντος, όχι υπόσχεση ότι υπηρεσία αναλυτικών ερωτημάτων ταιριάζει σε λειτουργική οθόνη κατάστασης πληρωμής ή ότι τα δεδομένα δεν μετακινούνται κατά την εκτέλεση. Η τεκμηρίωση ομοσπονδιακών ερωτημάτων της Google Cloud εξηγεί ότι ορισμένα αποτελέσματα εξωτερικών ερωτημάτων μεταφέρονται προσωρινά στην υπηρεσία ερωτημάτων. Η κρίσιμη διάκριση είναι ανάμεσα σε μόνιμο συγχρονισμένο αντίγραφο και περιορισμένη ανάγνωση για συγκεκριμένη ερώτηση.
Αποφασίστε από την εργασία του καταναλωτή
Δύο διαφορετικά αιτήματα κρύβονται στο «συνδέστε αυτά τα συστήματα». Το ένα ρωτά «τι λέει τώρα η πηγή;». Το άλλο «ποια κατάσταση πρέπει να κρατά ο προορισμός για να δράσει αργότερα;».
Για την οθόνη υποστήριξης, μια περιορισμένη ανάγνωση μπορεί να επιστρέψει κατάσταση παραγγελίας και χρόνο παρατήρησης. Η πηγή παραμένει το αρμόδιο σύστημα. Αν είναι εκτός λειτουργίας, η οθόνη πρέπει να λέει ότι η τρέχουσα κατάσταση δεν είναι διαθέσιμη ή να επισημαίνει καθαρά μια αποθηκευμένη απάντηση. Ένα δεύτερο αντίγραφο θα δημιουργούσε νέα ερώτηση: ποια κατάσταση υπερισχύει όταν διαφωνούν;
Ένας καταναλωτής ζητά από την πηγή μία τρέχουσα απάντηση μέσω εξουσιοδοτημένου περιορισμένου ερωτήματος. Το ερώτημα μπορεί να επεξεργάζεται προσωρινά δεδομένα χωρίς μόνιμο αντίγραφο.
Για μια καμπάνια εγκαταλελειμμένου καλαθιού, ο προορισμός ίσως πρέπει να δράσει χωρίς κάποιος να ανοίξει οθόνη. Μπορεί να χρειάζεται έγκαιρο γεγονός, κατάσταση συγκατάθεσης και τρόπο ακύρωσης προγραμματισμένου μηνύματος μετά από αγορά. Μια ζωντανή ανάγνωση τη στιγμή της καμπάνιας ίσως βοηθά, αλλά η απάντηση κατόπιν αιτήματος δεν είναι όλη η δουλειά.
| Τι χρειάζεται ο καταναλωτής | Πρώτη σχεδίαση προς δοκιμή | Κύριος συμβιβασμός |
|---|---|---|
| Μία τρέχουσα απάντηση | Περιορισμένο ερώτημα στο αρμόδιο σύστημα | Εξάρτηση από πρόσβαση και καθυστέρηση πηγής |
| Συνεχής ενέργεια στην αλλαγή | Γεγονός ή ελάχιστος διαφορικός συγχρονισμός | Χειρισμός καθυστέρησης, διπλοτύπων και χαμένων γεγονότων |
| Ιστορικά στοιχεία απόφασης | Στιγμιότυπο με εκδόσεις των σχετικών πεδίων | Κανόνες διατήρησης και πρόσβασης |
| Λειτουργία σε διακοπή πηγής | Ρητή cache ή αντίγραφο | Μπορεί να είναι παλιό· χρειάζεται κανόνα ηλικίας |
Πρόκειται για πίνακα αποφάσεων, όχι για δοκιμή επιδόσεων. Δεν παράγει καθολικό όριο ανάμεσα σε ερώτημα και αντιγραφή.
Ένα αντίγραφο έχει συνεχιζόμενο κόστος
Η πρώτη εξαγωγή υποτιμάται εύκολα επειδή τελειώνει. Το αντίγραφο συνεχίζει να ζει. Εμφανίζεται νέο πεδίο, συγχωνεύεται αναγνωριστικό, αλλάζει άδεια ή παλιό γεγονός φτάνει μετά από νέο. Τώρα ο προορισμός μπορεί να κρατά απάντηση που η πηγή θα απέρριπτε.
Το κόστος δεν είναι μόνο αποθήκευση. Είναι συμφωνία καταστάσεων: παρακολούθηση καθυστέρησης, επανεκτέλεση αλλαγών που χάθηκαν, διαγραφή δεδομένων όπου απαιτείται και εξήγηση του γιατί μια απόφαση χρησιμοποίησε τη χθεσινή τιμή. Αυτή η εργασία δικαιολογείται όταν ο προορισμός χρειάζεται ανεξάρτητη κατάσταση. Είναι περιττή ταξινόμηση όταν το μόνο ζητούμενο είναι τρέχουσα απάντηση.
Το ερώτημα έχει επίσης κόστος. Μπορεί να επιβαρύνει την πηγή, να εκθέσει πεδία σε άλλο φορέα, να περάσει δικτυακό όριο και να αποτύχει τη χειρότερη στιγμή. Ο σχεδιαστής ερωτήματος μπορεί να επεξεργαστεί περισσότερα δεδομένα από όσα δείχνει το ορατό αποτέλεσμα. Η τεκμηρίωση ομοσπονδιακής πρόσβασης περιγράφει λεπτομέρειες εκτέλεσης που αξίζει να ελέγξετε πριν θεωρήσετε ότι απομακρυσμένο ερώτημα σημαίνει μηδενική μετακίνηση.
Το ασφαλές ερώτημα έχει στενό σκοπό και στενό αποτέλεσμα. Ονομάστε τον υπεύθυνο του πεδίου. Περιορίστε την άδεια του καλούντος. Αποφασίστε πόσο παλιά μπορεί να είναι η απάντηση, πόσο μπορεί να περιμένει το ερώτημα και τι λέει η διεπαφή σε λήξη χρόνου. Κρατήστε τον χρόνο παρατήρησης μαζί με την απάντηση.
Πότε ένα ελεγχόμενο αντίγραφο αξίζει το κόστος
«Τα τοπικά δεδομένα δίνουν προβλέψιμη διεπαφή και λιγότερες απομακρυσμένες αστοχίες». Είναι σοβαρό επιχείρημα. Αν η ροή έχει αυστηρή απαίτηση καθυστέρησης ή πρέπει να συνεχίζει σε διακοπή πηγής, ένα ελεγχόμενο αντίγραφο μπορεί να είναι η σωστή σχεδίαση.
Η λέξη ελεγχόμενο κάνει τη δουλειά. Ορίστε ποια πεδία αντιγράφονται, πόσο γρήγορα ενημερώνονται, τι γίνεται όταν σταματούν οι ενημερώσεις και πότε ο καταναλωτής αρνείται να δράσει με παλιά κατάσταση. Δοκιμάστε καθυστερημένη διόρθωση μαζί με τη συνηθισμένη διαδρομή. Μια γρήγορη παλιά απάντηση μπορεί να είναι χειρότερη από μια ορατά μη διαθέσιμη.
Ξεκινήστε από τη μικρότερη ερώτηση του καταναλωτή. Αν την απαντά μια ανάγνωση, κρατήστε την πηγή υπεύθυνη. Αν μια ενέργεια χρειάζεται τοπική κατάσταση, αντιγράψτε μόνο όσα μπορεί να δικαιολογήσει.
Μια μικρή δοκιμή μπορεί να λύσει την επιλογή χωρίς γενικό επίπεδο αντιγραφής. Επιλέξτε μια ερώτηση που πράγματι θέτει ο καταναλωτής, καταγράψτε πόσο φρέσκια πρέπει να είναι η απάντηση και εκτελέστε εξουσιοδοτημένο ερώτημα στην πηγή. Παρατηρήστε καθυστέρηση, φόρτο πηγής και συμπεριφορά αστοχίας με ρεαλιστικούς ελέγχους πρόσβασης. Έπειτα δοκιμάστε την ελάχιστη αντιγραμμένη κατάσταση που θα εξυπηρετούσε τον ίδιο καταναλωτή. Συγκρίνετε όχι μόνο χρόνο απάντησης αλλά και διόρθωση, διαγραφή και διακοπή. Ο οδηγός σχεδιασμού ενσωμάτωσης δίνει το ευρύτερο πλαίσιο. Η δοκιμή επιλέγει πού πρέπει να ζει η απάντηση. Καμία διαδρομή δεν είναι αυτόματα φθηνότερη όταν μετρηθεί η συνεχιζόμενη συντήρηση.
Μια σύνδεση δεν μετριέται από το πόσες γραμμές πέρασαν από αυτήν.
Έχετε Ερωτήσεις; Έχουμε Απαντήσεις
Πότε είναι καλύτερο το απομακρυσμένο ερώτημα από συγχρονισμό;
Όταν ο καλών χρειάζεται απάντηση από την πηγή που ορίζει την ορθή τιμή και μπορεί να ανεχτεί τη διαθεσιμότητα και καθυστέρησή της. Κρατήστε την πρόσβαση περιορισμένη και δείξτε πότε διαβάστηκε η απάντηση.
Πότε πρέπει να αντιγραφούν δεδομένα;
Αντιγράψτε την ελάχιστη αναγκαία κατάσταση όταν άλλο σύστημα πρέπει να ενεργεί χωρίς ζωντανό ερώτημα, να κρατά ελέγξιμο στιγμιότυπο ή να τηρεί απαιτήσεις χρόνου και διαθεσιμότητας που δεν ικανοποιεί η πηγή.
Το ερώτημα στην πηγή σημαίνει ότι τα δεδομένα δεν μετακινούνται ποτέ;
Όχι. Μια υπηρεσία ομοσπονδιακών ερωτημάτων μπορεί να μεταφέρει ενδιάμεσα δεδομένα ή αποτελέσματα για να εκτελέσει το ερώτημα. Ελέγξτε την τεκμηριωμένη συμπεριφορά εκτέλεσης, διατήρησης και ασφάλειας του παρόχου.