Apache Kafka - บทนำ

ใน Big Data มีการใช้ข้อมูลจำนวนมหาศาล เกี่ยวกับข้อมูลเรามีความท้าทายหลักสองประการความท้าทายแรกคือวิธีรวบรวมข้อมูลจำนวนมากและความท้าทายประการที่สองคือการวิเคราะห์ข้อมูลที่รวบรวม เพื่อเอาชนะความท้าทายเหล่านั้นคุณต้องมีระบบส่งข้อความ

Kafka ออกแบบมาสำหรับระบบปริมาณงานสูงแบบกระจาย Kafka มีแนวโน้มที่จะทำงานได้ดีมากในการแทนที่นายหน้าข้อความแบบเดิม ๆ เมื่อเปรียบเทียบกับระบบการส่งข้อความอื่น Kafka มีทรูพุตที่ดีกว่าการแบ่งพาร์ติชันในตัวการจำลองแบบและการยอมรับข้อผิดพลาดโดยธรรมชาติซึ่งทำให้เหมาะสำหรับแอปพลิเคชันการประมวลผลข้อความขนาดใหญ่

ระบบส่งข้อความคืออะไร?

ระบบส่งข้อความมีหน้าที่ในการถ่ายโอนข้อมูลจากแอปพลิเคชันหนึ่งไปยังอีกแอปพลิเคชันดังนั้นแอปพลิเคชันจึงสามารถมุ่งเน้นไปที่ข้อมูลได้ แต่ไม่ต้องกังวลเกี่ยวกับวิธีการแบ่งปัน การส่งข้อความแบบกระจายจะขึ้นอยู่กับแนวคิดของการจัดคิวข้อความที่เชื่อถือได้ ข้อความถูกจัดคิวแบบอะซิงโครนัสระหว่างแอปพลิเคชันไคลเอนต์และระบบการส่งข้อความ รูปแบบการส่งข้อความมีให้เลือกสองแบบคือแบบชี้ต่อจุดและอีกแบบคือระบบการส่งข้อความเผยแพร่สมัครสมาชิก (pub-sub) รูปแบบการส่งข้อความส่วนใหญ่เป็นไปตามpub-sub.

ชี้ไปที่ Point Messaging System

ในระบบแบบจุดต่อจุดข้อความจะยังคงอยู่ในคิว ผู้บริโภคอย่างน้อยหนึ่งรายสามารถใช้ข้อความในคิวได้ แต่ข้อความหนึ่ง ๆ สามารถใช้งานได้โดยผู้บริโภคสูงสุดเพียงรายเดียวเท่านั้น เมื่อผู้บริโภคอ่านข้อความในคิวข้อความนั้นจะหายไปจากคิวนั้น ตัวอย่างทั่วไปของระบบนี้คือระบบประมวลผลคำสั่งซึ่งแต่ละคำสั่งจะได้รับการประมวลผลโดยตัวประมวลผลคำสั่งเดียว แต่โปรเซสเซอร์หลายคำสั่งสามารถทำงานได้เช่นกันในเวลาเดียวกัน แผนภาพต่อไปนี้แสดงถึงโครงสร้าง

เผยแพร่ - สมัครรับข้อความระบบ

ในระบบเผยแพร่ - สมัครสมาชิกข้อความจะยังคงอยู่ในหัวข้อ แตกต่างจากระบบจุดต่อจุดผู้บริโภคสามารถสมัครสมาชิกหัวข้อหนึ่งหรือหลายหัวข้อและใช้ข้อความทั้งหมดในหัวข้อนั้น ในระบบการสมัครสมาชิกเผยแพร่ผู้ผลิตข้อความเรียกว่าผู้เผยแพร่และผู้บริโภคข้อความเรียกว่าสมาชิก ตัวอย่างในชีวิตจริงคือ Dish TV ซึ่งเผยแพร่ช่องต่างๆเช่นกีฬาภาพยนตร์เพลง ฯลฯ และทุกคนสามารถสมัครรับข้อมูลจากชุดช่องของตนเองและรับเมื่อใดก็ตามที่มีช่องที่สมัครรับข้อมูล

คาฟคาคืออะไร?

Apache Kafka เป็นระบบการส่งข้อความแบบเผยแพร่ - สมัครสมาชิกแบบกระจายและคิวที่แข็งแกร่งซึ่งสามารถจัดการข้อมูลจำนวนมากและช่วยให้คุณสามารถส่งผ่านข้อความจากปลายทางหนึ่งไปยังอีกจุดหนึ่งได้ Kafka เหมาะสำหรับการใช้ข้อความทั้งออฟไลน์และออนไลน์ ข้อความ Kafka จะยังคงอยู่บนดิสก์และจำลองแบบภายในคลัสเตอร์เพื่อป้องกันข้อมูลสูญหาย Kafka สร้างขึ้นจากบริการซิงโครไนซ์ ZooKeeper ทำงานร่วมกับ Apache Storm และ Spark ได้เป็นอย่างดีสำหรับการวิเคราะห์ข้อมูลสตรีมมิ่งแบบเรียลไทม์

สิทธิประโยชน์

ต่อไปนี้เป็นประโยชน์บางประการของ Kafka -

  • Reliability - Kafka มีการแจกจ่ายแบ่งพาร์ติชันจำลองแบบและความทนทานต่อความผิดพลาด

  • Scalability - ระบบส่งข้อความ Kafka ปรับขนาดได้อย่างง่ายดายโดยไม่ต้องเสียเวลา ..

  • Durability- Kafka ใช้บันทึกการกระทำแบบกระจายซึ่งหมายความว่าข้อความยังคงอยู่บนดิสก์โดยเร็วที่สุดจึงมีความทนทาน ..

  • Performance- Kafka มีปริมาณงานสูงสำหรับทั้งการเผยแพร่และการสมัครรับข้อความ รักษาประสิทธิภาพการทำงานที่เสถียรแม้จะเก็บข้อความไว้หลาย TB

Kafka รวดเร็วมากและรับประกันการหยุดทำงานเป็นศูนย์และข้อมูลสูญหายเป็นศูนย์

ใช้กรณี

Kafka สามารถใช้กับ Use Case ได้หลายแบบ บางส่วนมีการระบุไว้ด้านล่าง -

  • Metrics- คาฟคามักใช้สำหรับข้อมูลการตรวจสอบการปฏิบัติงาน สิ่งนี้เกี่ยวข้องกับการรวบรวมสถิติจากแอปพลิเคชันแบบกระจายเพื่อสร้างฟีดข้อมูลการดำเนินงานจากส่วนกลาง

  • Log Aggregation Solution - Kafka สามารถใช้งานได้ทั่วทั้งองค์กรเพื่อรวบรวมบันทึกจากบริการที่หลากหลายและทำให้สามารถใช้งานได้ในรูปแบบมาตรฐานสำหรับผู้ใช้หลายคน

  • Stream Processing- เฟรมเวิร์กยอดนิยมเช่น Storm และ Spark Streaming อ่านข้อมูลจากหัวข้อประมวลผลและเขียนข้อมูลที่ประมวลผลไปยังหัวข้อใหม่ซึ่งพร้อมใช้งานสำหรับผู้ใช้และแอปพลิเคชัน ความทนทานที่แข็งแกร่งของ Kafka ยังมีประโยชน์อย่างมากในบริบทของการประมวลผลสตรีม

ต้องการคาฟคา

Kafka เป็นแพลตฟอร์มแบบครบวงจรสำหรับจัดการฟีดข้อมูลแบบเรียลไทม์ทั้งหมด Kafka รองรับการส่งข้อความเวลาแฝงต่ำและรับประกันความทนทานต่อความผิดพลาดในกรณีที่เครื่องขัดข้อง มีความสามารถในการรองรับผู้บริโภคที่หลากหลายจำนวนมาก Kafka เร็วมากเขียน 2 ล้านครั้ง / วินาที Kafka ยังคงเก็บข้อมูลทั้งหมดไว้ในดิสก์ซึ่งโดยพื้นฐานแล้วหมายความว่าการเขียนทั้งหมดจะไปที่แคชของหน้าของ OS (RAM) ทำให้การถ่ายโอนข้อมูลจากแคชของเพจไปยังซ็อกเก็ตเครือข่ายมีประสิทธิภาพมาก