Luyện nói tiếng Anh bằng Shadowing qua video: System Design: Why is Kafka Popular?

Chọn chế độ luyện tập

Mỗi chế độ mở một phòng luyện tập toàn màn hình.

86 câu
Nếu các câu quá ngắn hoặc quá dài, hãy bấm Edit để chỉnh sửa.
1
Why do LinkedIn, Netflix, and Uber all use Kafka to handle boolean messages per day?
Tại sao LinkedIn, Netflix và Uber đều sử dụng Kafka để xử lý hàng tỷ tin nhắn mỗi ngày?
2
It's not just about scale.
Đây không chỉ là vấn đề quy mô.
3
Kafka's distributed log design offers something unique, the ability to replay events, decouple services, and absorb traffic spikes.
Thiết kế nhật ký phân tán của Kafka mang lại một điểm độc đáo, đó là khả năng phát lại các sự kiện, tách rời các dịch vụ và hấp thụ các đợt tăng đột biến lưu lượng truy cập.
4
In this video, we'll look at how Kafka achieves this and what trade-offs you are making when you use it.
Trong video này, chúng ta sẽ xem xét cách Kafka thực hiện được điều này và những sự đánh đổi mà bạn phải chấp nhận khi sử dụng nó.
5
The main reason companies use Kafka is to decouple their systems.
Lý do chính các công ty sử dụng Kafka là để tách rời các hệ thống của họ.
6
Instead of having services talk directly to each other, they communicate through Kafka.
Thay vì để các dịch vụ giao tiếp trực tiếp với nhau, chúng sẽ giao tiếp thông qua Kafka.
7
This means producers and consumers can evolve independently, and Kafka absorbs traffic spikes that would otherwise overwhelm your systems.
Điều này có nghĩa là các nhà sản xuất và người tiêu dùng có thể phát triển độc lập với nhau, và Kafka sẽ hấp thụ các đợt tăng lưu lượng truy cập mà nếu không sẽ làm quá tải hệ thống của bạn.
8
It also enables replay for debugging and recovery when things go wrong.
Nó cũng cho phép phát lại để gỡ lỗi và khôi phục khi có sự cố xảy ra.
9
So how does this distributed log actually work?
Vậy thì nhật ký phân tán này thực sự hoạt động như thế nào?
10
When you send a message to Kafka, it gets written to a partition, which is basically append-only log files sitting on disk.
Khi bạn gửi một tin nhắn đến Kafka, tin nhắn đó sẽ được ghi vào một phân vùng, về cơ bản đây là các tệp nhật ký chỉ cho phép nối thêm được lưu trữ trên đĩa.
11
These partitions live on servers called brokers, and when you put multiple brokers together, you get a Kafka cluster.
Các phân vùng này nằm trên các máy chủ được gọi là broker, và khi bạn kết hợp nhiều broker lại với nhau, bạn sẽ có một cụm Kafka.
12
Partitions organize into topics, which are categories for your messages.
Các phân vùng được sắp xếp thành các chủ đề, là các danh mục dành cho tin nhắn của bạn.
13
You might have a topic for payments, another for user clicks, and another for video uploads.
Bạn có thể có một chủ đề dành cho các khoản thanh toán, một chủ đề khác dành cho lượt nhấp của người dùng, và một chủ đề khác dành cho việc tải lên video.
14
Producers write messages into topics, and consumers read them.
Các nhà sản xuất ghi các thông điệp vào các chủ đề, và các người tiêu dùng đọc các thông điệp đó.
15
Every message contains a key, a value, a timestamp, and sometimes headers for metadata.
Mỗi thông điệp chứa một khóa, một giá trị, một dấu thời gian và đôi khi là các tiêu đề cho siêu dữ liệu.
16
The key determines which partition your message lands in.
Khóa sẽ xác định phân vùng nào mà tin nhắn của bạn sẽ được đưa vào.
17
If you send multiple messages with the same key, they will always go to the same partition and stay in order.
Nếu bạn gửi nhiều tin nhắn có cùng khóa, chúng sẽ luôn đi đến cùng một phân vùng và được giữ nguyên thứ tự.
18
When you don't provide a key, Kafka spreads messages around to balance the load across partitions.
Khi bạn không cung cấp khóa, Kafka sẽ phân phối các tin nhắn để cân bằng tải giữa các phân vùng.
19
A single broker on modern hardware can handle hundreds of thousands of messages per second
Một broker duy nhất trên phần cứng hiện đại có thể xử lý hàng trăm nghìn tin nhắn mỗi giây.
20
and store as much data as your disk can hold.
và lưu trữ lượng dữ liệu tối đa mà ổ đĩa của bạn có thể chứa.
21
In practice though, the broker will usually hit network bandwidth limits before CPU or the disk becomes the bottleneck.
Tuy nhiên, trong thực tế, broker thường sẽ đạt đến giới hạn băng thông mạng trước khi CPU hoặc đĩa trở thành điểm nghẽn.
22
Today's video is sponsored by Warped, the best way to code with AI agents.
Video hôm nay được tài trợ bởi Warped, công cụ tốt nhất để lập trình với các tác nhân AI.
23
Too often, agents write code that's almost right, leaving developers stuck debugging instead of shipping.
Quá thường xuyên, các tác nhân viết mã gần như đúng, khiến các nhà phát triển bị mắc kẹt trong việc gỡ lỗi thay vì phát hành sản phẩm.
24
Warped is different.
Warped thì khác.
25
Ranked top of Terminal Bench and SWE Bench verified.
Được xếp hạng cao nhất trên Terminal Bench và đã được xác minh bởi SWE Bench.
26
Warped's agent understands your context and writes production-ready code out of the box.
Đại lý của Warped hiểu ngữ cảnh của bạn và viết mã sẵn sàng triển khai ngay lập tức.
27
Prom, reveal, and refine all in one interface.
Prom, tiết lộ và tinh chỉnh tất cả trong một giao diện.
28
No context switching, no wasted time.
Không chuyển đổi ngữ cảnh, không lãng phí thời gian.
29
You stay in control.
Bạn luôn giữ được quyền kiểm soát.
30
And it pays off.
Và điều đó đã đem lại kết quả tốt đẹp.
31
On average, users are saving over an hour a day with warp.
Trung bình người dùng đang tiết kiệm được hơn một giờ mỗi ngày với Warp.
32
Download warp by clicking the link in the description.
Tải xuống Warp bằng cách nhấp vào liên kết trong phần mô tả.
33
Partitioning strategy is what determines whether your system scales gracefully or falls apart under low.
Chiến lược phân vùng là yếu tố quyết định xem hệ thống của bạn có mở rộng quy mô một cách ổn định hay bị sụp đổ ngay cả dưới tải trọng thấp.
34
Pick the wrong partition key and you will end up with hard partitions, where one partition gets hammered while the others sit idle.
Nếu chọn sai partition key, bạn sẽ gặp phải tình trạng các phân vùng không đồng đều, trong đó một phân vùng bị quá tải trong khi các phân vùng khác lại không hoạt động hết công suất.
35
Imagine you're building a streaming service and you partition by movie ID.
Hãy tưởng tượng bạn đang xây dựng một dịch vụ phát trực tuyến và bạn phân vùng theo ID phim.
36
Everything works fine until Friday night when a blockbuster drops and suddenly millions of users are streaming the same movie.
Mọi thứ hoạt động ổn cho đến tối thứ Sáu, khi một bộ phim bom tấn ra mắt và đột nhiên hàng triệu người dùng cùng phát trực tuyến cùng một bộ phim.
37
All these events hit the same partition and your system starts choking.
Tất cả các sự kiện này đều tác động vào cùng một phân vùng và hệ thống của bạn bắt đầu bị quá tải.
38
The solution is to use compound keys.
Giải pháp là sử dụng các khóa tổ hợp.
39
Combine the movie ID with a hash of the user ID
Kết hợp ID phim với giá trị băm của ID người dùng
40
and now events for that blockbuster get spread across multiple partitions while each user sessions stay in order.
và bây giờ các sự kiện cho bộ phim bom tấn đó được phân bổ trên nhiều phân vùng trong khi mỗi phiên người dùng vẫn được giữ nguyên thứ tự.
41
There are other partitioning schemes too, each with its own trade-offs.
Cũng có những sơ đồ phân vùng khác, mỗi sơ đồ đều có những ưu nhược điểm riêng.
42
For example, time-based partitions work great for log data because they make retention policies simple, but they complicate real-time aggregation.
Ví dụ, các phân vùng dựa trên thời gian hoạt động rất tốt đối với dữ liệu nhật ký vì chúng giúp các chính sách lưu giữ trở nên đơn giản, nhưng lại làm phức tạp hóa việc tổng hợp theo thời gian thực.
43
Consumers track their progress through partitions using offsets, which are basically bookmarks to tell you which message you last processed.
Người tiêu dùng theo dõi tiến trình của họ thông qua các phân vùng bằng cách sử dụng offset, về cơ bản là các dấu trang cho biết thông điệp cuối cùng bạn đã xử lý là nào.
44
They save these offsets back to Kafka periodically, so if they crash, they know exactly where to pick The timing of these commits matters.
Định kỳ, chúng sẽ lưu các offset này trở lại Kafka, nên nếu bị lỗi, chúng sẽ biết chính xác nơi để tiếp tục xử lý. Thời điểm thực hiện các lần commit này là rất quan trọng.
45
Commit too early and you might lose messages if you crash.
Nếu commit quá sớm, bạn có thể bị mất tin nhắn nếu hệ thống bị lỗi.
46
Commit too late and you might process the same message twice.
Nếu bạn xác nhận giao dịch quá muộn, bạn có thể sẽ xử lý cùng một tin nhắn hai lần.
47
Consumer groups let multiple consumers work together, with Kafka making sure each message gets processed by exactly one consumer in the group.
Các nhóm người tiêu dùng cho phép nhiều người tiêu dùng hoạt động cùng nhau, và Kafka đảm bảo rằng mỗi thông điệp được xử lý bởi đúng một người tiêu dùng trong nhóm.
48
If a consumer fails, Kafka reassigns its partition to the surviving consumers through rebalancing.
Nếu một consumer bị lỗi, Kafka sẽ gán lại phân vùng của nó cho các consumer còn lại thông qua quá trình tái cân bằng.
49
It handles most failure scenarios without any manual intervention.
Nó xử lý hầu hết các tình huống lỗi mà không cần can thiệp thủ công.
50
Kafka offers three delivery guarantees.
Kafka cung cấp ba chế độ đảm bảo phân phối dữ liệu.
51
At most one is fast, but might lose messages.
Nhiều nhất chỉ có một phương thức nhanh, nhưng có thể làm mất tin nhắn.
52
At least once ensures no loss but might produce duplicates.
Đảm bảo giao nhận ít nhất một lần sẽ không làm mất dữ liệu nhưng có thể xảy ra trường hợp trùng lặp.
53
Exactly once is possible, but it is complicated to set up and run slower.
Chạy đúng một lần là có thể, nhưng việc thiết lập rất phức tạp và sẽ chạy chậm hơn.
54
Durability comes with replication.
Sự bền vững đi kèm với việc sao chép.
55
Every partition has one leader that handles all reads and writes, plus several followers that copy everything the leader does.
Mỗi phân vùng có một nút điều phối chịu trách nhiệm xử lý tất cả các thao tác đọc và ghi, cùng với một số nút theo dõi sao chép toàn bộ những gì nút điều phối thực hiện.
56
If the leader fails, one of the followers takes over.
Nếu người lãnh đạo thất bại, một trong những người đi theo sẽ tiếp quản vị trí.
57
Most production systems run with three replicas, which means you can lose a broker and still have backup.
Hầu hết các hệ thống sản xuất hoạt động với ba bản sao, điều này có nghĩa là bạn có thể mất một broker và vẫn còn bản sao lưu.
58
You can configure Kafka to wait for all active replicas to acknowledge rights before considering them successful.
Bạn có thể cấu hình Kafka để chờ tất cả các bản sao đang hoạt động xác nhận việc ghi dữ liệu trước khi coi các thao tác đó là thành công.
59
This gives you maximum safety but slows things down.
Điều này mang lại mức độ an toàn tối đa nhưng lại làm chậm quá trình hoạt động.
60
With three replicas, you can typically survive one broker failure without losing data.
Với ba bản sao, bạn thường có thể chịu được sự cố của một broker mà không bị mất dữ liệu.
61
These mechanics enable powerful patterns in production.
Những cơ chế này cho phép triển khai các mô hình mạnh mẽ trong môi trường sản xuất.
62
At Uber, location updates for millions of drivers reportedly flow through Kafka to calculate search pricing in real time.
Tại Uber, các bản cập nhật vị trí của hàng triệu tài xế được cho là truyền qua Kafka để tính toán giá tìm kiếm theo thời gian thực.
63
They partition geographically so each region can scale independently.
Họ phân chia theo địa lý để mỗi khu vực có thể mở rộng quy mô một cách độc lập.
64
Some companies use Kafka as their source of truth for data.
Một số công ty sử dụng Kafka làm nguồn dữ liệu đáng tin cậy của họ.
65
Instead of updating database records directly, they append every state change as an event to Kafka.
Thay vì cập nhật trực tiếp các bản ghi cơ sở dữ liệu, họ nối thêm mọi thay đổi trạng thái dưới dạng một sự kiện vào Kafka.
66
Want the current state?
Muốn xem trạng thái hiện tại không?
67
We play the events.
Chúng tôi tổ chức các sự kiện.
68
This pattern, called event sourcing, gives you a complete audit trail of everything that happened in your system.
Mô hình này, được gọi là event sourcing, cung cấp cho bạn một nhật ký kiểm tra hoàn chỉnh về mọi thứ đã xảy ra trong hệ thống của bạn.
69
But Kafka isn't the right choice for every use case.
Nhưng Kafka không phải là lựa chọn phù hợp cho mọi trường hợp sử dụng.
70
It optimizes for throughput, not latency.
Nó được tối ưu hóa cho thông lượng, không phải độ trễ.
71
The batching and buffering that enables high throughput adds some delay, making it unsuitable for request response patterns.
Việc phân lô và đệm dữ liệu cho phép thông lượng cao sẽ gây ra một độ trễ nhất định, khiến phương pháp này không phù hợp với các mô hình yêu cầu - phản hồi.
72
Kafka only guarantees order within a single partition, not across an entire topic.
Kafka chỉ đảm bảo thứ tự trong một phân vùng duy nhất, không phải trên toàn bộ một chủ đề.
73
If you absolutely need global ordering, you are stuck with a single partition, which kills your ability to parallelize.
Nếu bạn thực sự cần thứ tự toàn cục, bạn sẽ bị giới hạn trong một phân vùng duy nhất, điều này sẽ làm mất đi khả năng thực thi song song của bạn.
74
Most systems work around this by accepting partial ordering.
Hầu hết các hệ thống giải quyết vấn đề này bằng cách chấp nhận thứ tự bán phần.
75
Exactly once processing requires careful setup on both producer and consumer size,
Xử lý chính xác một lần đòi hỏi phải thiết lập cẩn thận ở cả phía nhà sản xuất và phía người tiêu dùng.
76
but when you need it for financial transactions or critical data pipelines, the complexity is worth it.
nhưng khi bạn cần nó cho các giao dịch tài chính hoặc các luồng dữ liệu quan trọng, thì sự phức tạp đó là hoàn toàn xứng đáng.
77
Kafka works because it decouples producers from consumers, letting them evolve independently without breaking each other.
Kafka hoạt động hiệu quả vì nó tách rời các nhà sản xuất và người tiêu dùng, cho phép chúng phát triển độc lập mà không gây ảnh hưởng lẫn nhau.
78
Traffic spies that would overwhelm a direct connection get absorbed by the log.
Những kẻ giám sát lưu lượng truy cập có thể làm quá tải kết nối trực tiếp sẽ bị nhật ký hệ thống hấp thụ.
79
When something goes wrong in production, you can replay events to see exactly what happened.
Khi có sự cố xảy ra trong quá trình sản xuất, bạn có thể phát lại các sự kiện để xem chính xác điều gì đã xảy ra.
80
But this power comes with a cost.
Nhưng sức mạnh này đi kèm với một cái giá.
81
Kafka adds significant operational complexity to your stack.
Kafka làm tăng đáng kể độ phức tạp vận hành cho hệ thống của bạn.
82
Ready to age your next technical interview?
Sẵn sàng để chinh phục buổi phỏng vấn kỹ thuật tiếp theo của bạn chưa?
83
Join our community where we offer comprehensive courses on system design, coding, behavioral questions, machine learning, and object-oriented design.
Tham gia cộng đồng của chúng tôi, nơi chúng tôi cung cấp các khóa học toàn diện về thiết kế hệ thống, lập trình, câu hỏi hành vi, học máy và thiết kế hướng đối tượng.
84
Learn more at bytebytego.com.
Tìm hiểu thêm tại bytebytego.com.
85
Thank you.
Cảm ơn bạn.
86
Thank you.

Tải Ứng Dụng

Mọi thứ bạn cần để nói trôi chảy

Chấm điểm AIChấm từng câu nói
Luyện IPAThành thạo mọi âm
Từ vựngMở rộng vốn từ
Game Từ vựngHọc qua chơi

Cùng kênh

FOR YOU

Video gợi ý

Tại sao nên luyện nói với video này?

Video này cung cấp một bối cảnh tuyệt vời để luyện nói tiếng Anh, đặc biệt là về chủ đề thiết kế hệ thống với Kafka. Việc nghe và nói theo nội dung video không chỉ giúp bạn cải thiện phát âm tiếng anh chuẩn mà còn mở rộng vốn từ vựng chuyên ngành. Hơn nữa, khi tham gia vào việc lặp lại theo người nói, bạn sẽ phát triển kỹ năng giao tiếp tự tin hơn, điều này rất quan trọng trong môi trường công việc hiện đại. Hãy thử luyện tập với kỹ thuật shadowspeak, nơi bạn lặp lại mỗi câu nói ngay sau khi nghe để cải thiện ngữ điệu và nhịp điệu.

Cấu trúc ngữ pháp & Biểu thức trong ngữ cảnh

Dưới đây là một số cấu trúc ngữ pháp quan trọng và biểu thức thường gặp trong video:

  • "Instead of having services talk directly to each other": Câu này sử dụng cấu trúc "instead of" để so sánh hai cách tiếp cận khác nhau, giúp bạn học cách diễn đạt ý tưởng tương tự trong tiếng Anh.
  • "Kafka absorbs traffic spikes": Cấu trúc này sử dụng động từ "absorbs" để chỉ khả năng chịu đựng, rất hữu ích khi bạn nói về khả năng quản lý áp lực trong công việc.
  • "Producers write messages into topics": Cấu trúc này giúp bạn hiểu cách sử dụng động từ "write into" một cách chính xác và rõ ràng trong giao tiếp hàng ngày.
  • "If you send multiple messages with the same key": Câu điều kiện này nhấn mạnh cách diễn đạt và sử dụng "if" để nói về tình huống tương lai.

Những cạm bẫy phát âm phổ biến

Khi luyện nói tiếng Anh, một số từ và câu trong video có thể gây khó khăn cho bạn. Dưới đây là một số cạm bẫy phát âm mà bạn nên chú ý:

  • "Kafka cluster": Câu này kết hợp âm "k" và "k" liên tiếp dễ gây nhầm lẫn, hãy luyện tập để phát âm chính xác.
  • "Partitions": Từ này có âm "t" rất nhẹ ở cuối, cần phát âm kỹ lưỡng để đảm bảo người nghe hiểu đúng.
  • "Producers and consumers": Khó khăn nằm ở âm "s" trong từ "consumers", điều này cần được chú trọng khi luyện phát âm.

Sử dụng kỹ thuật shadow speak hoặc tham gia vào các trang web shadowspeak sẽ giúp bạn cải thiện những vấn đề phát âm này, đảm bảo rằng bạn truyền đạt ý tưởng một cách rõ ràng và hiệu quả hơn trong giao tiếp tiếng Anh.

Phương Pháp Shadowing Là Gì?

Shadowing là kỹ thuật học ngôn ngữ có cơ sở khoa học, ban đầu được phát triển cho chương trình đào tạo phiên dịch viên chuyên nghiệp và được phổ biến rộng rãi bởi nhà đa ngôn ngữ học Dr. Alexander Arguelles. Nguyên lý cốt lõi đơn giản nhưng cực kỳ hiệu quả: bạn nghe tiếng Anh của người bản xứ và lặp lại to ngay lập tức — như một "cái bóng" (shadow) đuổi theo người nói với độ trễ chỉ 1–2 giây. Khác với luyện ngữ pháp hay học từ vựng bị động, Shadowing buộc não bộ và cơ miệng phải đồng thời xử lý và tái tạo ngôn ngữ thực tế. Các nghiên cứu khoa học xác nhận phương pháp này cải thiện đáng kể phát âm, ngữ điệu, nhịp điệu, nối âm, kỹ năng nghe và độ lưu loát khi nói — đặc biệt hiệu quả cho người luyện IELTS Speaking và muốn giao tiếp tiếng Anh tự nhiên như người bản ngữ.

Phương pháp shadowing: đọc hướng dẫn từng bước đầy đủ →