คำถามติดแท็ก apache-kafka

Apache Kafka เป็นแพลตฟอร์มสตรีมมิ่งแบบกระจายที่ออกแบบมาเพื่อจัดเก็บและประมวลผลสตรีมข้อมูลปริมาณสูง

16
มีเหตุผลใดที่จะใช้ RabbitMQ กับ Kafka?
ฉันถูกขอให้ประเมิน RabbitMQ แทน Kafka แต่พบว่ามันยากที่จะหาเหตุผลที่ทำให้สิ่งที่ดีกว่า Kafka มีใครรู้บ้างไหมว่ามันจะดีกว่าในเรื่องของปริมาณงานความคงทนความหน่วงหรือความง่ายในการใช้งานหรือไม่?

7
ใช้ Kafka เป็น (CQRS) Eventstore ความคิดที่ดี?
ถึงแม้ว่าผมจะเคยเจอKafkaก่อนผมเพิ่งตระหนัก Kafka บางทีอาจจะใช้เป็น (พื้นฐานของการบริการ) CQRS , eventstore หนึ่งในประเด็นหลักที่คาฟคาสนับสนุน: แน่นอนว่าการจับ / จัดเก็บเหตุการณ์ทั้งหมดของ HA สถาปัตยกรรมผับ / ย่อย ความสามารถในการเล่นซ้ำบันทึกเหตุการณ์ซึ่งช่วยให้ความสามารถสำหรับสมาชิกใหม่ที่จะลงทะเบียนกับระบบหลังจากข้อเท็จจริง เป็นที่ยอมรับว่าฉันไม่ใช่ 100% ที่เชี่ยวชาญในการจัดหา CQRS / การจัดหากิจกรรม แต่ดูเหมือนว่าใกล้เคียงกับร้านค้าที่ควรจะเป็น สิ่งที่ตลกคือ: ฉันไม่สามารถพบได้มากนักเกี่ยวกับการใช้คาฟคาในการเป็นสถานที่จัดงานดังนั้นฉันอาจจะพลาดอะไรบางอย่างไป ดังนั้นอะไรที่ขาดหายไปจากคาฟคาเพื่อให้เป็นอีเวนต์ที่ดี? มันจะทำงานอย่างไร ใช้มันผลิตหรือไม่ สนใจข้อมูลเชิงลึกลิงก์และอื่น ๆ โดยทั่วไปสถานะของระบบจะถูกบันทึกตามธุรกรรม / เหตุการณ์ที่ระบบเคยได้รับแทนที่จะบันทึกเพียงสถานะปัจจุบัน / สแน็ปช็อตของระบบซึ่งเป็นสิ่งที่มักจะทำ (คิดว่ามันเป็นบัญชีแยกประเภททั่วไปในการบัญชี: การทำธุรกรรมทั้งหมดรวมถึงสถานะสุดท้าย) ซึ่งจะช่วยให้ทุกสิ่งที่ยอดเยี่ยม แต่เพียงอ่านบนลิงก์ที่มีให้

18
Purge Kafka หัวข้อ
มีวิธีกำจัดหัวข้อในคาฟคาหรือไม่? ฉันผลักข้อความที่มีขนาดใหญ่เกินไปในหัวข้อข้อความของคาฟคาในเครื่องท้องถิ่นของฉันตอนนี้ฉันได้รับข้อผิดพลาด: kafka.common.InvalidMessageSizeException: invalid message size การเพิ่มfetch.sizeไม่เหมาะในที่นี้เพราะฉันไม่ต้องการรับข้อความที่ยิ่งใหญ่

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

23
ผู้นำไม่พร้อมใช้งาน Kafka ในผู้ผลิตคอนโซล
ฉันพยายามใช้คาฟคา การกำหนดค่าทั้งหมดทำอย่างถูกต้อง แต่เมื่อฉันพยายามสร้างข้อความจากคอนโซลฉันได้รับข้อผิดพลาดต่อไปนี้ WARN Error while fetching metadata with correlation id 39 : {4-3-16-topic1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient) รุ่นคาฟคา: 2.11-0.9.0.0

3
อะไรคือสิ่งที่ผู้บริโภคกำหนดคาฟคาชดเชย
ฉันค่อนข้างใหม่สำหรับ Kafka ฉันได้ทำการทดลองเล็กน้อย แต่มีบางสิ่งที่ไม่ชัดเจนเกี่ยวกับการชดเชยผู้บริโภค จากสิ่งที่ฉันเข้าใจจนถึงตอนที่ผู้บริโภคเริ่มต้นการชดเชยที่จะเริ่มอ่านจะถูกกำหนดโดยการตั้งค่าการกำหนดค่าauto.offset.reset(แก้ไขฉันถ้าฉันผิด) ตอนนี้พูดเช่นว่ามี 10 ข้อความ (ออฟเซ็ต 0 ถึง 9) ในหัวข้อและผู้บริโภคเกิดขึ้นที่จะกิน 5 ของพวกเขาก่อนที่มันจะลง (หรือก่อนที่ฉันจะฆ่าผู้บริโภค) จากนั้นบอกว่าฉันรีสตาร์ทกระบวนการผู้บริโภคนั้น คำถามของฉันคือ: ถ้าauto.offset.resetตั้งค่าsmallestเป็นมันจะเริ่มต้นการบริโภคจาก offset 0 เสมอหรือไม่ ถ้าauto.offset.resetตั้งไว้ที่largestจะเริ่มบริโภคจาก offset 5 หรือไม่ พฤติกรรมเกี่ยวกับสถานการณ์ประเภทนี้เป็นสิ่งกำหนดขึ้นมาเสมอหรือไม่? โปรดอย่าลังเลที่จะแสดงความคิดเห็นหากสิ่งใดในคำถามของฉันไม่ชัดเจน ขอบคุณล่วงหน้า.

4
การสร้างแบบจำลองข้อมูลด้วย Kafka? หัวข้อและพาร์ติชัน
สิ่งแรกที่ฉันคิดเมื่อใช้บริการใหม่ (เช่นที่เก็บข้อมูลที่ไม่ใช่ RDBMS หรือคิวข้อความ) คือ: "ฉันจะจัดโครงสร้างข้อมูลของฉันได้อย่างไร" ฉันอ่านและดูเนื้อหาเบื้องต้นแล้ว โดยเฉพาะอย่างยิ่งใช้ตัวอย่างเช่นKafka: ระบบส่งข้อความแบบกระจายสำหรับการประมวลผลบันทึกซึ่งเขียน: "หัวข้อคือคอนเทนเนอร์ที่เชื่อมโยงข้อความ" "หน่วยคู่ขนานที่เล็กที่สุดคือพาร์ติชันของหัวข้อซึ่งหมายความว่าข้อความทั้งหมดที่ ... เป็นของพาร์ติชันเฉพาะของหัวข้อจะถูกบริโภคโดยผู้บริโภคในกลุ่มผู้บริโภค" เมื่อรู้สิ่งนี้จะเป็นตัวอย่างที่ดีที่แสดงวิธีใช้หัวข้อและพาร์ติชันได้อย่างไร เมื่อไรควรเป็นหัวข้อ? เมื่อใดที่ควรเป็นพาร์ติชัน ตัวอย่างเช่นสมมติว่าข้อมูล (Clojure) ของฉันดูเหมือน: {:user-id 101 :viewed "/page1.html" :at #inst "2013-04-12T23:20:50.22Z"} {:user-id 102 :viewed "/page2.html" :at #inst "2013-04-12T23:20:55.50Z"} หัวข้อควรเป็นไปตามuser-id? viewed? at? แล้วพาร์ติชั่นล่ะ ฉันจะตัดสินใจได้อย่างไร
168 apache-kafka 

12
Zookeeper เป็นสิ่งจำเป็นสำหรับ Kafka หรือไม่?
ในคาฟคาฉันต้องการใช้เพียงโบรกเกอร์เดียวหัวข้อเดียวและพาร์ติชันเดียวที่มีผู้ผลิตรายเดียวและผู้บริโภคหลายราย (ผู้บริโภคแต่ละรายจะได้รับสำเนาข้อมูลของตัวเองจากนายหน้า) ด้วยเหตุนี้ฉันไม่ต้องการค่าใช้จ่ายในการใช้ Zookeeper ใช้แค่นายหน้าอย่างเดียวไม่ได้หรือ? ทำไม Zookeeper ถึงต้อง?

7
ฉันจะส่งข้อความขนาดใหญ่ด้วย Kafka (มากกว่า 15MB) ได้อย่างไร
ฉันส่งข้อความสตริงไปยัง Kafka V. 0.8 ด้วย Java Producer API หากขนาดข้อความประมาณ 15 MB ฉันจะได้รับไฟล์MessageSizeTooLargeException. ฉันพยายามตั้งค่าmessage.max.bytesเป็น 40 MB แต่ฉันยังคงได้รับข้อยกเว้น ข้อความขนาดเล็กทำงานได้โดยไม่มีปัญหา (ข้อยกเว้นปรากฏในผู้ผลิตฉันไม่มีผู้บริโภคในแอปพลิเคชันนี้) ฉันจะทำอย่างไรเพื่อกำจัดข้อยกเว้นนี้ config ผู้ผลิตตัวอย่างของฉัน private ProducerConfig kafkaConfig() { Properties props = new Properties(); props.put("metadata.broker.list", BROKERS); props.put("serializer.class", "kafka.serializer.StringEncoder"); props.put("request.required.acks", "1"); props.put("message.max.bytes", "" + 1024 * 1024 * 40); return new ProducerConfig(props); } บันทึกข้อผิดพลาด: 4709 …
120 java  apache-kafka 

14
วิธีค้นหาเวอร์ชัน kafka ใน linux
จะค้นหาเวอร์ชัน kafka ใน linux ได้อย่างไร มีวิธีค้นหาเวอร์ชัน kafka ที่ติดตั้งไว้นอกเหนือจากการระบุเวอร์ชันขณะดาวน์โหลดหรือไม่
108 apache-kafka 

3
จำเป็นต้องมีคีย์เป็นส่วนหนึ่งของการส่งข้อความถึงคาฟคาหรือไม่
KeyedMessage<String, byte[]> keyedMessage = new KeyedMessage<String, byte[]>(request.getRequestTopicName(), SerializationUtils.serialize(message)); producer.send(keyedMessage); ขณะนี้ฉันกำลังส่งข้อความโดยไม่มีคีย์ใด ๆ เป็นส่วนหนึ่งของข้อความที่ถูกคีย์จะยังใช้งานได้delete.retention.msหรือไม่ ฉันต้องส่งคีย์เป็นส่วนหนึ่งของข้อความหรือไม่? การสร้างคีย์เป็นส่วนหนึ่งของข้อความนี้ดีหรือไม่

7
Apache Kafka กับ Apache Storm
Apache Kafka: ระบบส่งข้อความแบบกระจาย Apache Storm: การประมวลผลข้อความตามเวลาจริง เราจะใช้เทคโนโลยีทั้งสองในท่อส่งข้อมูลแบบเรียลไทม์เพื่อประมวลผลข้อมูลเหตุการณ์ได้อย่างไร ในแง่ของไปป์ไลน์ข้อมูลแบบเรียลไทม์ดูเหมือนว่าฉันจะทำงานเหมือนกัน เราจะใช้เทคโนโลยีทั้งสองบนท่อส่งข้อมูลได้อย่างไร?

2
Kafka: Consumer API เทียบกับ Streams API
ฉันเพิ่งเริ่มเรียนรู้คาฟคาและจบลงด้วยคำถามเหล่านี้ อะไรคือความแตกต่างระหว่าง Consumer และ Stream? สำหรับฉันหากเครื่องมือ / แอปพลิเคชันใด ๆ ใช้ข้อความจาก Kafka เป็นผู้บริโภคในโลก Kafka สตรีมแตกต่างกันอย่างไรเนื่องจากใช้หรือสร้างข้อความไปยังคาฟคา และเหตุใดจึงจำเป็นเนื่องจากเราสามารถเขียนแอปพลิเคชันสำหรับผู้บริโภคของเราเองโดยใช้ Consumer API และประมวลผลได้ตามต้องการหรือส่งไปยัง Spark จากแอปพลิเคชันสำหรับผู้บริโภค ฉันใช้ Google ในเรื่องนี้ แต่ไม่ได้รับคำตอบที่ดีสำหรับเรื่องนี้ ขออภัยหากคำถามนี้ไม่สำคัญเกินไป

14
ลบหัวข้อใน Kafka 0.8.1.1
ฉันต้องการลบหัวข้อนี้ testใน Apache Kafka 0.8.1.1 ตามที่แสดงไว้ในเอกสารที่นี่ฉันได้ดำเนินการ: bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test อย่างไรก็ตามผลลัพธ์นี้เป็นข้อความต่อไปนี้: Command must include exactly one action: --list, --describe, --create or --alter ฉันจะลบหัวข้อนี้ได้อย่างไร

3
วัตถุประสงค์ของการส่งข้อความแบบคู่คีย์ / ค่าของ Kafka คืออะไร [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน10 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ทั้งหมดของตัวอย่างของคาฟคา | ผู้ผลิตแสดงProducerRecordของคู่คีย์ / ค่าเป็นไม่เพียง แต่เป็นชนิดเดียวกัน (ตัวอย่างทั้งหมดแสดง<String,String>) แต่ที่เหมือนกันค่า ตัวอย่างเช่น: producer.send(new ProducerRecord<String, String>("someTopic", Integer.toString(i), Integer.toString(i))); แต่ในเอกสาร Kafka ฉันไม่สามารถหาที่อธิบายแนวคิดคีย์ / ค่า (และวัตถุประสงค์ / ยูทิลิตี้พื้นฐาน) ได้ ในการส่งข้อความแบบเดิม (ActiveMQ, RabbitMQ และอื่น ๆ ) ฉันมักจะส่งข้อความไปที่หัวข้อ / คิว / การแลกเปลี่ยนโดยเฉพาะ แต่คาฟคาเป็นโบรกเกอร์รายแรกที่ดูเหมือนว่าจะต้องใช้คู่คีย์ / ค่าแทนที่จะเป็นเพียงแค่ข้อความสตริงที่เป็นระเบียบ ดังนั้นฉันจึงถาม: วัตถุประสงค์ / ประโยชน์ของการกำหนดให้ผู้ผลิตส่งคู่ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.