Tuỳ vào từng trường hợp chứ chả có thằng nào tốt hơn thằng nào cả.thím có thể nói rõ hơn về thằng kafka dc ko ạ? e ngồi học hỏiChắc câu hỏi của mấy chú Junior mới tìm hiểu về Micro services rồiTuỳ vào từng trường hợp chứ chả có thằng nào tốt hơn thằng nào cả.
Mỗi 1 thằng có 1 ưu điểm riêng.
- Redis thì nhanh gọn nhẹ, nhưng dễ mất dữ liệu nên hệ thống nào ko cần đảm bảo 100% messages đều cần được xử lý thì dùng.
- RabbitMQ có mô hình pub/sub đơn giản và phù hợp với các tác vụ xử lý lâu hoặc background jobs.
- Kafka phức tạp hơn, to hơn phù hợp trong trường hợp cần xử lý high-throughput data streams.
Đấy là tôi nói phét thế thôi chứ tôi cũng chả dùng hết cái lũ này nên chả hiểu cái mẹ gì đâu.
có case study để so sánh với thằng rmq thì tuyệt Use-case thì bạn có thể đọc engineering blog của các công ty event-drive như Grab, Gojek, User, Lift, AirBnB, Netflix ... hoặc nhảy thẳng vào kafka-summit mà xem nhathím có thể nói rõ hơn về thằng kafka dc ko ạ? e ngồi học hỏicó case study để so sánh với thằng rmq thì tuyệt
via theNEXTvoz for iPhone


High throughput là sao bác, cho em ví dụ vớiChắc câu hỏi của mấy chú Junior mới tìm hiểu về Micro services rồiTuỳ vào từng trường hợp chứ chả có thằng nào tốt hơn thằng nào cả.
Mỗi 1 thằng có 1 ưu điểm riêng.
- Redis thì nhanh gọn nhẹ, nhưng dễ mất dữ liệu nên hệ thống nào ko cần đảm bảo 100% messages đều cần được xử lý thì dùng.
- RabbitMQ có mô hình pub/sub đơn giản và phù hợp với các tác vụ xử lý lâu hoặc background jobs.
- Kafka phức tạp hơn, to hơn phù hợp trong trường hợp cần xử lý high-throughput data streams.
Đấy là tôi nói phét thế thôi chứ tôi cũng chả dùng hết cái lũ này nên chả hiểu cái mẹ gì đâu.
IO Average size x IOPS = ThroughputHigh throughput là sao bác, cho em ví dụ với
thanks thím nhiều. e sẽ tham khảo ạUse-case thì bạn có thể đọc engineering blog của các công ty event-drive như Grab, Gojek, User, Lift, AirBnB, Netflix ... hoặc nhảy thẳng vào kafka-summit mà xem nha
Vài ví dụ:
....
- Grab: https://engineering.grab.com/optimally-scaling-kafka-consumer-applications
- Gojek: https://blog.gojekengineering.com/tagged/kafka
- Uber: https://eng.uber.com/kafka/
- Kafka-summit: https://kafka-summit.org/
Book thì có thể bắt đầu với cuốn Kafka: The Definitive Guide của Confluent, mình thấy khá dễ hiểu và gần gũi với thực tế.
Edit: Ở VN thì mình biết có mấy bên cũng chơi hệ thống có Kafka ở core, tiếc là mấy cái slide trong mấy cái conference không thấy share![]()
Có 2 khái niệm thím cần hiểu là Latency và Throughput.High throughput là sao bác, cho em ví dụ với
VD như có 1 số công việc: render PDF files, thanh toán, Stream Processing.thím có thể nói rõ hơn về thằng kafka dc ko ạ? e ngồi học hỏicó case study để so sánh với thằng rmq thì tuyệt
via theNEXTvoz for iPhone

hay thiệt sự. hóng bác gõ tiếpkafka sinh ra để stream, vì nó đảm bảo được thứ tự của các message, dựa vào key trong mỗi partition. Không ai dùng kafka để làm queue chạy background job cả, vì khi số consumer > số partion, thì việc scale là vô nghĩa.
rabbitmq sinh ra để làm queue chạy background job, rabbitmq không mạnh trong việc đảm bảo thứ tự của msg, có thể cố đấm ăn xôi bằng cách set header priority, nhưng không linh hoạt được.
kafka persistance data tốt hơn, có thể cấu hình thời gian msg có thể được lưu lại disk. Có thể đọc lại bất kỳ msg cũ từ cách khai báo offset. Nên consumer có thể "đọc lại" msg bất cứ khi nào muốn.
Rabbitmq không làm được điều này, từ version 3.8 có hỗ trợ Quorum Queue để HA message, còn các queue khác, thì khi msg đã được subscriber báo ACK đọc msg rồi, thì nó sẽ bị xóa khỏi queue.
...
còn nhiều nữa lắm, mà lười gõ quá
Thực sự thì vẫn prefer Kafka hơn do kiến trúc của nó đơn giản hơn nhiều chứ Pulsar nhiều thành phần triển khai phức tạp quá. Kafka sắp tới bỏ ZooKeeper tự dùng Raft luôn lại càng đơn giản.Apache Pulsar nhé, hiện tại thua Kafka mỗi mặt ecosystem do ra đời sau thôi chứ còn lại ăn tất
Nats không so sánh với Kafka hay Pulsar được, nó như là một phiên bản RabbitMQ rút gọn thôi. Được cái nhanh và lightweight, nếu không quá quan trọng reliability thì dùng ok.Có ae nào dùng Nats chưa nhỉ, so với Kafka thì có hơn gì ko?
Sent from Soupie using vozFApp
Có ae nào dùng Nats chưa nhỉ, so với Kafka thì có hơn gì ko?
Sent from Soupie using vozFApp