Δημιουργήστε περισσότερα διαμερίσματα και διατηρήστε τα δεδομένα για μεγαλύτερο χρονικό διάστημα στα συμπλέγματα χωρίς διακομιστή MSK

Δημιουργήστε περισσότερα διαμερίσματα και διατηρήστε τα δεδομένα για μεγαλύτερο χρονικό διάστημα στα συμπλέγματα χωρίς διακομιστή MSK

Κόμβος πηγής: 1929683

Τον Απρίλιο 2022, Amazon Managed Streaming για το Apache Kafka (Amazon MSK) παρουσίασε μια συναρπαστική νέα δυνατότητα, Amazon MSK χωρίς διακομιστή. Το Amazon MSK είναι μια πλήρως διαχειριζόμενη υπηρεσία για τον Apache Kafka που διευκολύνει τους προγραμματιστές να δημιουργούν και να εκτελούν εξαιρετικά διαθέσιμες, ασφαλείς και επεκτάσιμες εφαρμογές που βασίζονται στο Apache Kafka. Με το MSK Serverless, οι προγραμματιστές μπορούν να εκτελούν τις εφαρμογές τους χωρίς να χρειάζεται να παρέχουν, να ρυθμίζουν ή να βελτιστοποιούν τα συμπλέγματά τους Apache Kafka. Το MSK Serverless παρέχει αυτόματα και κλιμακώνει τους πόρους υπολογισμού και αποθήκευσης, έτσι ώστε οι προγραμματιστές να έχουν πρόσβαση σε χωρητικότητα ροής και αποθήκευση κατ' απαίτηση.

Κατά το υπόλοιπο του 2022, η ομάδα συνέλεξε σχόλια πελατών και εργάστηκε αντίστροφα από τις απαιτήσεις των πελατών για να προσθέσει νέες δυνατότητες που έκαναν το MSK Serverless ακόμα καλύτερο. Σε αυτήν την ανάρτηση, συζητάμε μερικές από αυτές τις βελτιώσεις λεπτομερώς και παρέχουμε ένα παράδειγμα χρήσης.

Υψηλότερο προεπιλεγμένο όριο για κατατμήσεις σε ένα σύμπλεγμα

Τα δεδομένα στον Apache Kafka γράφονται Θέματα, το οποίο μπορεί να χωριστεί σε πολλαπλά αρχεία καταγραφής που ονομάζονται βαθμολογίες. Όταν μια εφαρμογή παραγωγού γράφει δεδομένα σε ένα θέμα, προστίθεται σε ένα από αυτά τα διαμερίσματα. Το MSK Serverless κυκλοφόρησε με μέγιστο όριο 120 κατατμήσεων ανά σύμπλεγμα. Ωστόσο, οι πελάτες μας μάς είπαν ότι χρειάζονταν περισσότερα διαμερίσματα ανά σύμπλεγμα για μια ποικιλία περιπτώσεων χρήσης, που κυμαίνονται από τη λήψη δεδομένων αλλαγής (CDC) έως την ταχύτερη επεξεργασία δεδομένων σε πραγματικό χρόνο.

Τον Δεκέμβριο του 2022, αυξήσαμε το προεπιλεγμένο όριο για κατατμήσεις για συμπλέγματα χωρίς διακομιστή MSK. Με το αυξημένο όριο, μπορείτε να δημιουργήσετε έως και 2,400 κατατμήσεις ανά σύμπλεγμα. Η 20πλάσια αύξηση του αριθμού των κατατμήσεων που μπορείτε να έχετε ανά σύμπλεγμα σάς επιτρέπει να δημιουργείτε περισσότερα θέματα ανά σύμπλεγμα και να καταναλώνουν παράλληλα δεδομένα περισσότερες εφαρμογές. Μπορείτε επίσης να εφαρμόσετε καλύτερη απομόνωση δεδομένων με λεπτομερή έλεγχο πρόσβασης. Περισσότερες κατατμήσεις είναι ιδιαίτερα χρήσιμες για περιπτώσεις χρήσης CDC όπου κάθε πίνακας στη βάση δεδομένων έχει εκατοντάδες unqiue κλειδιά, τα οποία αντιστοιχίζονται σε ένα μοναδικό διαμέρισμα. Με περισσότερα διαμερίσματα, μπορείτε να χρησιμοποιήσετε το MSK Serverless για την καταγραφή αλλαγών σε μεγαλύτερες βάσεις δεδομένων με πολλούς πίνακες και εκατοντάδες κλειδιά. Σημειώστε ότι το όριο των 2,400 ισχύει μόνο για κατατμήσεις leader. Το MSK Serverless δημιουργεί δύο αντίγραφα κάθε διαμερίσματος από προεπιλογή χωρίς πρόσθετο κόστος που δεν υπολογίζεται σε αυτό το όριο.

Απεριόριστη διάρκεια διατήρησης δεδομένων

Τα δεδομένα που παράγετε για τα θέματά σας μπορούν να διατηρηθούν στο Apache Kafka για μια ρυθμιζόμενη διάρκεια, ανάλογα με το πόσο χρόνο χρειάζεστε για πρόσβαση σε δεδομένα χρησιμοποιώντας API καταναλωτών Apache Kafka. Συνήθως, οι πελάτες διατηρούν δεδομένα για σύντομες χρονικές περιόδους, που κυμαίνονται από μερικές ώρες έως μερικές ημέρες. Προηγουμένως, η MSK Serverless περιόριζε τη διατήρηση δεδομένων σε μέγιστο 24 ώρες (1 ημέρα), κάτι που επαρκεί για τις πιο δημοφιλείς περιπτώσεις χρήσης Apache Kafka. Ωστόσο, ορισμένες περιπτώσεις χρήσης απαιτούν από τους πελάτες να διατηρούν δεδομένα για μεγαλύτερο χρονικό διάστημα, όπως η διατήρηση δεδομένων για σκοπούς ελέγχου ή η διατήρηση των SLA ανάκτησης εφαρμογών.

Τώρα, με την αύξηση του ορίου διάρκειας διατήρησης δεδομένων, μπορείτε να διατηρήσετε δεδομένα για όσο χρονικό διάστημα χρειάζεστε στα συμπλέγματα χωρίς διακομιστή MSK. Η μεγαλύτερη διατήρηση δεδομένων είναι ιδιαίτερα χρήσιμη για περιπτώσεις χρήσης όπου οι εφαρμογές καταναλωτών σας χρειάζονται γρήγορη πρόσβαση σε παλαιότερα δεδομένα. Για παράδειγμα, σε περίπτωση αποτυχίας, η εφαρμογή μπορεί να χρειαστεί πρόσβαση σε δεδομένα από την αρχή του θέματος για να ανακατασκευάσει την κατάστασή της. Επειδή πλέον μπορείτε να διατηρήσετε δεδομένα στα θέματά σας για μεγαλύτερη διάρκεια, μπορείτε να επαναφέρετε την κατάσταση της εφαρμογής σας αποκτώντας πρόσβαση σε παλαιότερα δεδομένα χρησιμοποιώντας το API καταναλωτών του Kafka, διευκολύνοντας την ανάκτηση από τέτοιες αποτυχίες. Μετά την ανάκτηση της εφαρμογής, μπορείτε να διαμορφώσετε την εφαρμογή σας ώστε να αρχίσει να καταναλώνει τα δεδομένα από την πρώτη χρονική σήμανση που χρειάζεστε για να αποκαταστήσετε την κατάσταση της εφαρμογής σας. Λάβετε υπόψη ότι μπορείτε να διατηρήσετε μόνο έως 250 GB δεδομένων ανά διαμέρισμα. Εφόσον το διαμέρισμα σας δεν φτάνει τα 250 GB σε μέγεθος, μπορείτε να το διατηρήσετε για όσο χρονικό διάστημα θέλετε. Μπορείτε να δημιουργήσετε περισσότερα διαμερίσματα εάν χρειάζεστε περισσότερο χώρο αποθήκευσης για ένα δεδομένο θέμα.

Αυτά τα νέα όρια είναι διαθέσιμα σε όλες τις Περιφέρειες όπου είναι διαθέσιμο το MSK Serverless. Για περισσότερες πληροφορίες, μεταβείτε στο MSK χωρίς διακομιστή καρτέλα στο Σελίδα τιμολόγησης Amazon MSK Και επιλέξτε το Περιοχή πτυσώμενο μενού.

Μπορείτε επίσης να ζητήσετε αύξηση του μέγιστου αριθμού ορίων κατατμήσεων κατά επικοινωνώντας Υποστήριξη AWS εάν χρειάζεστε περισσότερα από 2,400 διαμερίσματα σε ένα σύμπλεγμα. Οι ποσοστώσεις για περισσότερες κατατμήσεις και μεγαλύτερη διατήρηση εφαρμόζονται τόσο σε υπάρχοντα όσο και σε νέα συμπλέγματα.

Ξεκινώντας: Δημιουργήστε ένα θέμα με 1,000 κατατμήσεις και διατήρηση 7 ημερών

Σε αυτήν την ενότητα, παρουσιάζουμε πώς να δημιουργήσετε ένα θέμα σε MSK Serverless, να καθορίσετε τον αριθμό των κατατμήσεων και να ορίσετε τη διάρκεια διατήρησής του.

Ως προαπαιτούμενο, πρέπει να έχετε ένα σύμπλεγμα χωρίς διακομιστή MSK και έναν πελάτη Apache Kafka. Αναφέρομαι σε Ξεκινώντας με τη χρήση συμπλεγμάτων χωρίς διακομιστή MSK για οδηγίες βήμα προς βήμα.

  1. Στον υπολογιστή-πελάτη σας, πρόσβαση kafka_2.12-2.8.1/bin και εκτελέστε τα παρακάτω export εντολή (αντικαταστήστε το "my-endpoint" με τη συμβολοσειρά διακομιστή εκκίνησης του συμπλέγματος χωρίς διακομιστή MSK):
    export BS=my-endpoint

  2. Εκτελέστε την ακόλουθη εντολή για να δημιουργήσετε ένα θέμα που ονομάζεται msk-sample-topic με 1,000 κατατμήσεις και διατήρηση δεδομένων 7 ημερών (604,800,000 χιλιοστά του δευτερολέπτου):
    <path-to-your-kafka-installation>/bin/kafka-topics.sh --bootstrap-server $BS --command-config client.properties --create --topic msk-sample-topic --partitions 1000 --config retention.ms=604800000

  3. (Προαιρετικό) Εκτελέστε την ακόλουθη εντολή για να προβάλετε τις λεπτομέρειες του θέματος που δημιουργήσατε στο βήμα 2 παραπάνω:
    <path-to-your-kafka-installation>/bin/kafka-topics.sh --bootstrap-server $BS
    --command-config client.properties --topic msk-sample-topic --describe | head -n1

    Θα δείτε το ακόλουθο αποτέλεσμα:

    Topic: msk-sample-topic TopicId: Ze76LY9EQuiH0xOIenx_HA PartitionCount: 1000ReplicationFactor: 3 Configs: min.insync.replicas=2,segment.bytes=134217728,retention.ms=604800000,message.format.version=2.8-IV2,unclean.leader.election.enable=false,retention.bytes=268435456000

εκκαθάριση

Για να αποφύγετε χρεώσεις στους πόρους AWS που δημιουργήθηκαν σε αυτήν την ανάρτηση, διαγράψτε το σύμπλεγμα χωρίς διακομιστή MSK και το Amazon Elastic Compute Cloud (Amazon EC2) για το μηχάνημα πελάτη σας.

  1. Στην κονσόλα Amazon MSK, επιλέξτε το σύμπλεγμα χωρίς διακομιστή MSK που χρησιμοποιήσατε για αυτήν τη λύση.
  2. Επιλέξτε Δράσεις, κατόπιν επιλέξτε Διαγραφή.
  3. Στην κονσόλα Amazon EC2, επιλέξτε το στιγμιότυπο που δημιουργήσατε για τον υπολογιστή-πελάτη Apache Kafka.
  4. Επιλέξτε Κατάσταση παραδείγματος, κατόπιν επιλέξτε Τερματισμός παρουσίας.

Συμπέρασμα

Αυτή η ανάρτηση έδειξε πώς να δημιουργήσετε ένα θέμα συμπλέγματος χωρίς διακομιστή MSK με 1,000 κατατμήσεις και διατήρηση 7 ημερών. Με τις νέες αυξήσεις ορίου, μπορείτε να δημιουργήσετε έως και 2,400 κατατμήσεις ανά σύμπλεγμα και να διατηρήσετε δεδομένα για όσο χρονικό διάστημα χρειάζεστε. Εάν έχετε σχόλια ή σχόλια, μη διστάσετε να τα αφήσετε στα σχόλια.


Σχετικά με τον Συγγραφέα

Ουσάμα Νασίμ είναι Senior Product Manager για το Amazon MSK και εστιάζει στο MSK Serverless. Προηγουμένως, είχε ρόλους διαχείρισης προϊόντων για την AWS Lambda και την Amazon Fresh. Είναι παθιασμένος να δίνει στους πελάτες τα εργαλεία για τη δημιουργία εφαρμογών σε πραγματικό χρόνο στο cloud. Εκτός δουλειάς, συνεχίζει να έχει την αυταπάτη ότι θα γίνει μια μέρα ο καλύτερος παίκτης σκουός στον κόσμο.

Σφραγίδα ώρας:

Περισσότερα από Μεγάλα δεδομένα AWS