Kafka Δωρεάν λογισμικό ουράς μηνυμάτων
Πλατφόρμα συνεχούς ροής συμβάντων με βάση το Scala & Java
Το Apache Kafka είναι μια πλατφόρμα ροής συμβάντων ανοιχτού κώδικα. Πρόκειται για έναν ισχυρό μεσίτη ουράς και χτίστηκε ως σύστημα εσωτερικών μηνυμάτων που αναπτύχθηκε από το Linked-in
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Το Kafka είναι ένα σύστημα ανταλλαγής μηνυμάτων ανοιχτού κώδικα και ένας ισχυρός μεσίτης ουράς. Είναι κατανεμημένη πλατφόρμα ροής συμβάντων και έχει τη δυνατότητα να χειρίζεται έναν μεγάλο όγκο μηνυμάτων. Τα μηνύματα Kafka αποθηκεύονται στο δίσκο και σας επιτρέπουν να στέλνετε μηνύματα από ένα σημείο σε άλλο απρόσκοπτα. Τα μηνύματα αναπαράγονται σε ολόκληρο το σύμπλεγμα Kafka για να αποτρέψουν την εμφάνιση ανεπιθύμητων λειτουργιών όπως κάθε απώλεια δεδομένων. Η πλατφόρμα ανταλλαγής μηνυμάτων Kafka που κατασκευάστηκε για να χειριστεί τη ροή συμβάντων σε πραγματικό χρόνο, την επένδυση σωλήνων και την επανάληψη των δεδομένων για γρήγορες, κλιμακωτές λειτουργίες. Το Apache Kafka διανεμημένο λογισμικό ουράς μηνυμάτων χρησιμοποιείται από χιλιάδες εταιρείες για αγωγούς δεδομένων υψηλής απόδοσης και την ένταξή του με την Apache Storm και Spark. Το Kafka προσφέρει υψηλές επιδόσεις σε σύγκριση με τους μεσίτες μηνυμάτων και ουράς όπως το ActivemQ και το RabbitMQ κλπ. Το Apache Kafka είναι μια εναλλακτική λύση σε μια ποικιλία συστημάτων ανταλλαγής μηνυμάτων. Κατασκευάστηκε ως σύστημα εσωτερικών μηνυμάτων που αναπτύχθηκε από το Linked-In για να χειριστεί 1,4 τρισεκατομμύρια μηνύματα σε μια μέρα. Είναι μια καλύτερη και κατάλληλη πλατφόρμα για την εφαρμογή των ουρών, καθώς ενισχύει την απόδοση χρησιμοποιώντας λειτουργίες διαδοχικών δίσκων I/O. Είναι επίσης μια τέλεια επιλογή για μεγάλες περιπτώσεις χρήσης δεδομένων, επειδή μπορεί να επιτύχει υψηλή απόδοση με περιορισμένο αριθμό πόρων, δηλαδή εκατομμύρια μηνύματα ανά δευτερόλεπτο. Το λογισμικό ανοιχτού κώδικα Kafka διαθέτει 19,4k αστέρια Github και 10,3K Github Forks.
Απαιτήσεις συστήματος
Οι απαιτήσεις για τη ρύθμιση του λογισμικού Apache Kafka περιλαμβάνουν:
- Java 8+
- Zookeeper
- Ubuntu 20.04 LTS
- Git
Χαρακτηριστικά
Μερικά από τα βασικά χαρακτηριστικά του Apache Kafka παρατίθενται παρακάτω:
- Επεκτασιμότητα
- Υψηλή ένταση
- Μετασχηματισμοί δεδομένων
- Ανοχή σε σφάλματα
- Αξιοπιστία
- Ανθεκτικότητα
- Απόδοση
- Χωρίς χρόνο διακοπής
- Επεκτάσιμο
- Αναπαραγωγή
- Ανοιχτή πηγή
Οδηγίες Εγκατάστασης
Εγκαταστήστε το Apache Kafka στο Ubuntu
Αυτός ο οδηγός εξηγεί τον τρόπο ρύθμισης και kafka. Παρακάτω βήματα εγκατάστασης υποθέτουν ότι όλα τα πακέτα Depency του Kafka είναι εγκατεστημένα και ενημερωμένα στο σύστημά σας. Ακολουθήστε παρακάτω τα βήματα εγκατάστασης. Αποκτήστε το Kafka κατεβάζοντας την τελευταία έκδοση Kafka και εξαγάγετε το με εντολές:
tar -xzf kafka_2.13-2.8.0.tgz
cd kafka_2.13-2.8.0
Στη συνέχεια, ξεκινήστε το περιβάλλον Kafka. Το τοπικό περιβάλλον του συστήματος πρέπει να έχει εγκαταστήσει το Java 8+. Εκτελέστε τις ακόλουθες εντολές για να ξεκινήσετε όλες τις υπηρεσίες με τη σωστή σειρά:
bin/zookeeper-server-start.sh config/zookeeper.properties
Ανοίξτε μια άλλη συνεδρία τερματικού και DTART Η υπηρεσία Kafka Broker από:
bin/kafka-server-start.sh config/server.properties
Όταν όλες οι υπηρεσίες έχουν εγκατασταθεί με επιτυχία, θα έχετε ένα βασικό περιβάλλον kafka που τρέχει και είναι έτοιμη για πρόσβαση. Πρέπει να δημιουργήσετε ένα θέμα πριν γράψετε το πρώτο σας συμβάν. Ανοίξτε μια άλλη συνάντηση τερματικού και εκτελέστε εντολή:
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
Τώρα, εκτελέστε τον πελάτη παραγωγού της κονσόλας για να γράψει μερικά ξεχωριστά γεγονότα στο θέμα:
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
Ανοίξτε μια άλλη συνεδρία τερματικού κονσόλας και εκτελέστε τον πελάτη καταναλωτή της κονσόλας για να διαβάσετε τα γεγονότα που μόλις δημιουργήσατε με:
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
Μπορείτε να εισαγάγετε/να εξάγετε τα δεδομένα σας μέσα και έξω από το Kafka. Χρησιμοποιήστε το CTRL-C για να σταματήσετε τον μεσίτη Kafka. Εάν θέλετε επίσης να διαγράψετε οποιαδήποτε δεδομένα από το τοπικό περιβάλλον Kafka, συμπεριλαμβανομένων οποιωνδήποτε γεγονότων που έχετε δημιουργήσει κατά μήκος του δρόμου, τότε εκτελέστε την εντολή:
rm -rf /tmp/kafka-logs /tmp/zookeeper
Συγχαρητήρια! Έχετε ρυθμίσει με επιτυχία την πλατφόρμα Apache Kafka στο Ubuntu. Απολαμβάνω!
Συχνές ερωτήσεις
Τι χρησιμοποιείται για το Apache Kafka;
Το Kafka είναι ένα λογισμικό ανοιχτού κώδικα που παρέχει ένα πλαίσιο για την αποθήκευση, την ανάγνωση και την ανάλυση δεδομένων ροής. Η ύπαρξη ανοιχτού κώδικα σημαίνει ότι είναι ουσιαστικά ελεύθερο να χρησιμοποιηθεί και διαθέτει ένα μεγάλο δίκτυο χρηστών και προγραμματιστών που συμβάλλουν σε ενημερώσεις, νέα χαρακτηριστικά και προσφέροντας υποστήριξη για νέους χρήστες.
Είναι το Apache Kafka δωρεάν;
Το Apache Kafka είναι δωρεάν και το Confluent Cloud είναι πολύ φθηνό για περιπτώσεις μικρής χρήσης, περίπου 1 δολάρια το μήνα για να παράγει, να αποθηκεύει και να καταναλώνει GB δεδομένων.
Είναι το Apache Kafka Open Source;
Το Apache Kafka είναι μια πλατφόρμα συνεχούς ροής εκδήλωσης ανοιχτού κώδικα που χρησιμοποιείται από χιλιάδες εταιρείες για αγωγούς δεδομένων υψηλής απόδοσης, αναλυτικές ροές, ενσωμάτωση δεδομένων και εφαρμογές κρίσιμης σημασίας για την αποστολή. Ο πηγαίος κώδικας της εφαρμογής CEPH διατίθεται στο Github.
Σε ποια γλώσσα είναι η Kafka;
Ο Kafka ξεκίνησε ως έργο στο LinkedIn και αργότερα ήταν ανοιχτό για να διευκολύνει την υιοθέτησή του. Είναι γραμμένο σε Scala και Java, και είναι μέρος του λογισμικού ανοιχτού κώδικα Apache Foundation.
Γιατί ο Kafka είναι τόσο γρήγορος;
Συμπίεση και παρτίδα δεδομένων: Το Kafka παρττίζει τα δεδομένα σε κομμάτια που βοηθούν στη μείωση των κλήσεων δικτύου και στη μετατροπή των περισσότερων τυχαίων γραπτών σε διαδοχικές. Είναι πιο αποτελεσματικό να συμπιέσετε μια παρτίδα δεδομένων σε σύγκριση με τη συμπίεση μεμονωμένων μηνυμάτων.
Εξερευνήστε
Σε αυτό το άρθρο συζητήσαμε για το Apache Kafka. Για να μάθετε για άλλα λογισμικά ουράς μηνυμάτων (MQ), επισκεφθείτε τις ακόλουθες σελίδες:
Top 5 Λογισμικό MQ Open Source Message