Sự khác biệt giữa phân vùng và bản sao của một chủ đề trong cụm kafka là gì. Tôi có nghĩa là cả hai lưu trữ các bản sao của tin nhắn trong một chủ đề. Vậy sự khác biệt thực sự là gì?sự khác biệt giữa phân vùng và bản sao của một chủ đề trong cụm kafka
Trả lời
Khi bạn thêm thư vào chủ đề, bạn gọi phương thức gửi (KeyedMessage message) của API nhà sản xuất. Điều này có nghĩa là tin nhắn của bạn chứa khóa và giá trị. Khi bạn tạo một chủ đề, bạn chỉ định số phân vùng bạn muốn nó có. Khi bạn gọi phương thức "gửi" cho chủ đề này, dữ liệu sẽ được gửi đến chỉ một phân vùng cụ thể dựa trên giá trị băm của khóa của bạn (theo mặc định). Mỗi phân vùng có thể có một bản sao, có nghĩa là cả hai phân vùng và bản sao của nó lưu trữ cùng một dữ liệu. Hạn chế là cả nhà sản xuất và người tiêu dùng của bạn chỉ làm việc với bản sao chính và các bản sao của nó chỉ được sử dụng để dự phòng.
Tham khảo tài liệu: http://kafka.apache.org/documentation.html#producerapi Và một huấn luyện cơ bản: http://www.slideshare.net/miguno/apache-kafka-08-basic-training-verisign
chủ đề được phân chia trên nhiều nút do đó, một chủ đề có thể phát triển vượt ra ngoài giới hạn của một nút. Phân vùng được nhân rộng để chịu lỗi. Nhân rộng và lãnh đạo tiếp quản là một trong những khác biệt lớn nhất giữa Kafka và các nhà môi giới/Flume khác. Từ số Apache Kafka site:
Mỗi phân vùng có một máy chủ hoạt động như "máy chủ" và số không hoặc nhiều máy chủ hoạt động như "người theo dõi". Người lãnh đạo xử lý tất cả các yêu cầu đọc và viết cho phân vùng trong khi người theo dõi thụ động sao chép người lãnh đạo. Nếu người lãnh đạo thất bại, một trong số những người theo dõi sẽ tự động trở thành người lãnh đạo mới . Mỗi máy chủ hoạt động như một người dẫn đầu cho một số phân vùng của nó và một người theo dõi cho những người khác để tải cũng được cân bằng trong cụm.
Cảm ơn .. lời giải thích rất hay ... –
Hai tính năng quan trọng khác của Kafka là tính song song và dự phòng. Kafka xử lý việc này bằng cách cho mỗi chủ đề một số phân vùng và bản sao nhất định.
Partitions
phân vùng: Một mảnh duy nhất của một chủ đề Kafka. Số lượng phân vùng có thể định cấu hình theo từng chủ đề. Thêm phân vùng cho phép tuyệt đối song song khi đọc từ các chủ đề. Số lượng phân vùng xác định số lượng người tiêu dùng bạn có trong nhóm người tiêu dùng. Ví dụ, nếu một chủ đề có 3 phân vùng, bạn có thể có 3 người tiêu dùng trong một nhóm người tiêu dùng cân bằng tiêu thụ giữa các phân vùng. Bằng cách này bạn có một song song của 3. Số phân vùng này là hơi khó để xác định cho đến khi bạn biết làm thế nào nhanh chóng bạn đang sản xuất dữ liệu và nhanh như thế nào bạn đang tiêu thụ dữ liệu. Nếu bạn có một chủ đề mà bạn biết sẽ có khối lượng cao, bạn sẽ cần phải có nhiều phân vùng hơn.
bản sao
bản sao: Đây là bản sao của phân vùng. Họ không bao giờ được viết hoặc đọc. Mục đích duy nhất của họ là để dự phòng dữ liệu. Nếu chủ đề của bạn có n bản sao, các nhà môi giới n-1 có thể thất bại trước khi có bất kỳ mất mát dữ liệu nào. Ngoài ra, bạn không thể có một chủ đề một nhân tố lớn hơn số lượng các nhà môi giới mà bạn có. Ví dụ, bạn có 5 nhà môi giới Kafka, bạn có thể có một chủ đề với hệ số nhân rộng tối đa là 5, và 5-1 = 4 nhà môi giới có thể đi xuống trước khi có bất kỳ mất mát dữ liệu nào.
- 1. Sự khác biệt giữa Kafka và ActiveMQ
- 2. Sự khác biệt giữa Redis và kafka
- 3. Chủ đề, phân vùng và khóa
- 4. Sự khác biệt giữa Tác vụ (System.Threading.Task) và Chủ đề
- 5. Apache Kafka - KafkaStream về chủ đề/phân vùng
- 6. Sự khác biệt giữa BackgroundWorker và Chủ đề?
- 7. Sự khác biệt giữa Chủ đề và Trình xử lý
- 8. Sự khác biệt giữa AsyncTask và Chủ đề/Runnable
- 9. Sự khác biệt giữa Chủ đề và Trình xử lý
- 10. Sự khác biệt giữa Chủ đề công nhân CLR và Chủ đề công nhân là gì?
- 11. Sự khác biệt giữa phân vùng RDD và lát cắt là gì?
- 12. Làm thế nào để tạo chủ đề trong apache kafka?
- 13. Sự khác biệt giữa malloc và dlmalloc
- 14. sự khác biệt giữa Chủ đề, Công nhân, Mutex, Stackable?
- 15. Sự khác biệt giữa Bộ sưu tập và Vùng chứa
- 16. Sự khác biệt giữa vùng chứa và trình bao bọc
- 17. Kafka 0.8, có thể tạo chủ đề với phân vùng và sao chép bằng cách sử dụng mã java không?
- 18. Sự khác biệt giữa chỉ mục cụm và không phải cụm trong SQL
- 19. Sự khác biệt giữa $ * và $ @
- 20. Có thể tạo chủ đề kafka với số phân vùng động không?
- 21. Sự khác biệt giữa "phần" và "phân khúc" trong NASM
- 22. sự khác biệt giữa lex và yacc
- 23. Sự khác biệt giữa bản đồ và bản đồAsync
- 24. Sự khác biệt giữa chạy và bắt đầu một chủ đề
- 25. Sự khác biệt giữa eq? và = trong Đề án?
- 26. Sự khác biệt giữa độ cao và bản dịchZ
- 27. Sự khác biệt giữa Hủy bỏ và Ngắt trong Chủ đề trong .NET
- 28. sự khác biệt cơ bản giữa elseif và khác nếu
- 29. Windows VSS: sự khác biệt giữa hai bản sao bóng?
- 30. Sự khác biệt giữa lmctfy và lxc
OK .. cảm ơn !! –