Nội dung bài viết
Video học lập trình mỗi ngày
Bài viết này được đưa vào Series: Dự án DDD - vetautet.com có lượng đồng thời CAO
Khi mọi người đếu nói đến các cụm từ cao siêu như deepseek là gì?
Thì tôi vẫn đang trên con đường phát triển dự án cấp độ Doanh Nghiệp... Tôi là một nông dân...
Liên quan đến Kafka
Link 2025: 👉 Series Message Queue System (Kafka) -> Mức độ cấp DOANH NGHIỆP
01: INTERN đánh bại SENIOR: GOOD CV - Với dự án tài chính thì bạn sử dụng Kafka hay là RabbitMQ? WHY?
02: Kafka: JOIN vào dự án cấp độ doanh nghiệp 7 khái niệm cấn nắm
03: Go vs Kafka: Từ đơn giản trên trận chiến STOCK - MEMBERs
04: JAVA vs kafka: Ứng dụng thực tế hệ thống MUA BÁN Backend API
06: Kafka (1): Cuộc chiến thực sự của hệ thống mua vé tàu - Khởi tạo Broker và Partition
07: Kafka (2): Cách gửi Order nhanh nhất - ddd: vetautet.com
08: Kafka (3) - Cách xử lý Order nhanh nhất - ddd - vetautet.com
09: KafKa(4): Sếp ơi. Order còn tồn động nhiều quá...
10: KafKa(5): Xử lý Error và retry TTL updating..
Nếu bạn còn thời gian...
Link 2024: 👉 Series Message Queue System (Kafka + RabbitMQ) -> Cơ bản đến thành thạo
01: Kafka: Hệ thống cũ rất chậm đã đến lúc sử dụng Broker Message Queue Phần 1
02: Kafka: Mới join vào TEAM, cần học nhanh về KafKa Phần 2
03: [Kafka: Sử dụng trong Stocks như thế nào? Phần 3 Updating]
04: Notifications Service vs Tách Message Queue System - member
05: Cách triển khai Kafka Message Queue - member
06: Cách triển khai Rabbit Message Queue - member
07: Tách dự án với kiến trúc Microservice System | Level 3, 4
09: First step in Microservice vs Message Queue | Microservice System | Lvxx
10: Xử lý Message Error or TTL (Time To Live) trong Message Queue thế nào? | Kiến trúc MQ
11: Xử lý message khi gặp sự cố MQ server die (TTL) thực hành
12: QUAN TRỌNG và dành cho Level cao về cách Xử lý error message trong kiến trúc MQ
13: Message Ordering in Pub/Sub or Queues | Microservices Backend
14: Message Ordering | Microservice Backend | #2
15: Thực hành về Message Ordered với hai tình huống | RabbitMQ | Microservice Backend
Kafka tôi còn nhớ rõ
Trong quá trình làm việc và triển khai những dự án có sự góp mặt của MQ (RabbitMQ, Kafka) thì tôi cũng có cơ duyên may mắn được tiếp xúc từ sớm với version cũ như là 0.8.2 lúc đó cũng là 2015.
Tôi còn nhớ lúc đó cũng đi hỏi khá là nhiều anh chị trong dự án or ngoài dự án về những khái niệm rất là mông lung hồi đó. Thật sự mà nói thời điểm đó khi tôi bắt đầu học về kafka thì lúc đó trên internet có khác ít những blog hay video để triển khai những khái niệm rất mơ hồ như HW, LEO, LSO, LW
hoặc ISR và AR là viết tắt của từ gì trong Kafka? Tỷ lệ ISR có nghĩa là gì?
rất khó tìm được đáp án.
Cũng may mắn là trải qua rồi mới biết mình còn sống sót với dự án với nghề lập trình của mình. Và đến hôm nay, tuy cũng ít tham gia nhiều dự án như trước nhưng vẫn có một số anh em biết nhau cũng hỏi tôi về một số câu hỏi liên quan đến MQ cụ thể là (RabbitMQ, Kafka). Đa số là để chuẩn bị cho cuộc phỏng vấn sắp tới. Phỏng vấn người khác và phỏng vấn cho công việc mới.
Vì sao lại là Kafka?
Gần đây tôi đang triển khai cho anh em về một service hoạt động dựa trên nền tảng bán vé, tuy nó không đao to búa lớn như những opensource, nhưng nó cũng giải quyết được các vấn đề quan trọng như tỷ lệ write
, read
, consistency
trong đồng thời cao.
Read
có nghĩa là lượng đồng thời truy cập vào một product (BlackFriday) or eventTicket (vé tàu tết)
lúc đó hệ thống vấn đảm bảo được lượng truy cập nhiều user cùng một lúc, nhưng quan trọng là phải thiết lập chi phí thấp cho doanh nghiệp...
Write
tỷ lệ ghi trong các hệ thống concurrency rất quan trọng không kém, đó là order sản phẩm hay còn gọi cụm từ quen thuộc StockDeduction
một tính năng quan trọng trong việc quyết định có bán quá mức tốn kho hay không? một giây QPS = 300 orders
nó rất khác với QPS = 3000 Orders
...
Consistency
khái niệm này cũng phải được áp dụng đó là tính nhất quán dữ liệu trong khi open bán ticket hoặc open Flash Sale trong các ngày có giao dịch cao điểm. Ví dụ trong MySQL có StockAvailable = 1000 sản phẩm
có giá là 100 USD
và vào ngày đó (Flash Sale) thì sẽ tách ra 10 sản phầm lúc này sẽ bán với giá 50 USD. Thì lúc này dữ liệu phải nhất quán và đúng so với distributed cache
...
Hiện tại thì dự án banvetautet đã hoàn thành 2 trong 3 task quan trọng đó là Read
và Consistency
. Và thời gian này chúng tôi sẽ bắt đầu tập trung cho việc Write
. Vì vậy, tôi đã đưa kafka
vào để chinh chiến cho việc Write
sắp tới.
Điều đó đồng nghĩa với việc sẽ kafka và LUA redis sẽ tham gia trong đợt này. Và gần đây 5 video kafka được phát hành, các bạn cũng có thể chuyển từ level cơ bản qua level thành thạo nếu như trải qua việc thực hành những video đó về kafka.
Còn về redis thì chúng ta cũng sẽ có 5 video về redis nhưng ở cấp doanh nghiệp, tôi còn nhớ trước đó về Series: ứng dụng eCommercial Nodejs thì 7 video redis được phát hành từ cơ bản đến thành thạo, còn ở đây thì sẽ chuyển qua cấp độ doanh nghiệp, vì nó liên quan tới về LUA và TRANSACTION, ATOMIC
...
Các bạn có thể xem qua Series: banvetau cấp độ doanh nghiệp nếu như có hứng thú...
01: INTERN đánh bại SENIOR: GOOD CV - Với dự án tài chính thì bạn sử dụng Kafka hay là RabbitMQ? WHY?
02: Kafka: JOIN vào dự án cấp độ doanh nghiệp 7 khái niệm cấn nắm
03: Go vs Kafka: Từ đơn giản trên trận chiến STOCK - MEMBERs
04: JAVA vs kafka: Ứng dụng thực tế hệ thống MUA BÁN Backend API
06: Kafka (1): Cuộc chiến thực sự của hệ thống mua vé tàu - Khởi tạo Broker và Partition
07: Kafka (2): Cách gửi Order nhanh nhất - ddd: vetautet.com
08: Kafka (3) - Cách xử lý Order nhanh nhất - ddd - vetautet.com
09: KafKa(4): Sếp ơi. Order còn tồn động nhiều quá...
10: KafKa(5): Xử lý Error và retry TTL...
Cảm ơn và hẹn gặp nhau.