Cách Netflix phát trực tiếp tới 100 triệu thiết bị trong 60 giây
Tin tức chung·ByteByteGo Newsletter·2 lượt xem

Cách Netflix phát trực tiếp tới 100 triệu thiết bị trong 60 giây

How Netflix Live Streams to 100 Million Devices in 60 Seconds

AI Summary

Netflix thành công trong việc stream nội dung đến 100 triệu thiết bị chỉ trong vòng một phút, minh chứng cho những thách thức và giải pháp trong việc phân phối nội dung thời gian thực ở quy mô khổng lồ. Khả năng này đóng vai trò then chốt cho hoạt động toàn cầu của họ, đòi hỏi sự ổn định cao và độ trễ thấp. Các developer có thể học hỏi từ cách Netflix xây dựng hệ thống phân tán (distributed systems), tối ưu hóa mạng lưới (network optimization) và sử dụng mạng phân phối nội dung (CDNs) để xây dựng các ứng dụng có tính sẵn sàng cao (high availability) và hiệu suất mạnh mẽ cho lượng lớn người dùng.

Trong bài viết này, chúng ta sẽ xem xét kiến trúc của hệ thống này và những thách thức mà Netflix phải đối mặt khi xây dựng nó.

Hầu hết các nhóm chọn nhà cung cấp tìm kiếm bằng cách chạy một vài truy vấn thử nghiệm và hy vọng mọi thứ sẽ ổn – đây là công thức dẫn đến ảo giác và lỗi không thể đoán trước. Hướng dẫn kỹ thuật này từ You.com cung cấp cho bạn quyền truy cập vào một framework chính xác để đánh giá tìm kiếm và truy xuất AI.

Bạn sẽ nhận được gì:

  • Một framework bốn giai đoạn để đánh giá tìm kiếm AI

  • Cách xây dựng một bộ truy vấn vàng dự đoán hiệu suất thực tế

  • Các chỉ số và mã để đo lường độ chính xác

Chuyển từ “trông có vẻ ổn” sang chất lượng đã được chứng minh.

Tìm hiểu cách chạy đánh giá


Netflix Live Origin là một máy chủ được xây dựng tùy chỉnh, nằm giữa các pipeline phát trực tiếp trên đám mây và Open Connect, Mạng phân phối nội dung (CDN) của Netflix. Nó hoạt động như một điểm kiểm soát chất lượng quyết định phân đoạn video nào sẽ được phân phối đến hàng triệu người xem trên toàn thế giới.

Khi Netflix lần đầu tiên giới thiệu phát trực tiếp, họ cần một hệ thống có thể xử lý những thách thức độc đáo của việc phân phối video thời gian thực. Không giống như Video theo yêu cầu (VOD), nơi nội dung được chuẩn bị trước, phát trực tiếp hoạt động dưới áp lực thời gian. Mọi phân đoạn video phải được mã hóa, đóng gói và phân phối đến người xem trong vòng vài giây. Live Origin được thiết kế đặc biệt để đáp ứng những yêu cầu này.

Trong bài viết này, chúng ta sẽ xem xét kiến trúc của hệ thống này và những thách thức mà Netflix đã đối mặt khi xây dựng nó.

Tuyên bố miễn trừ trách nhiệm: Bài viết này dựa trên các chi tiết được chia sẻ công khai từ Đội ngũ Kỹ thuật Netflix. Vui lòng bình luận nếu bạn nhận thấy bất kỳ điểm không chính xác nào.

Hệ thống Hoạt động như thế nào

Live Origin hoạt động như một dịch vụ microservice đa người dùng trên các instance Amazon EC2. Mô hình giao tiếp khá đơn giản:

  • Packager, bộ phận chuẩn bị các phân đoạn video để phân phối, gửi các phân đoạn này đến Origin bằng yêu cầu HTTP PUT.

  • Các node Open Connect truy xuất các phân đoạn này bằng yêu cầu HTTP GET. URL được sử dụng cho yêu cầu PUT khớp với URL được sử dụng cho yêu cầu GET, tạo ra một mô hình lưu trữ và truy xuất đơn giản.

Xem sơ đồ bên dưới:

Netflix đã đưa ra một vài quyết định về kiến trúc định hình cách thức hoạt động của Live Origin.

  • Thứ nhất, họ đạt được độ tin cậy thông qua các quy trình phát trực tiếp theo khu vực dự phòng. Thay vì dựa vào một quy trình mã hóa duy nhất, Netflix chạy đồng thời hai quy trình độc lập. Mỗi quy trình hoạt động trong một khu vực đám mây khác nhau với bộ mã hóa, bộ đóng gói và nguồn cấp video riêng.

  • Thứ hai, Netflix áp dụng thiết kế manifest với các mẫu phân đoạn và thời lượng phân đoạn không đổi. Thay vì liên tục cập nhật tệp manifest để liệt kê các phân đoạn khả dụng, họ sử dụng một mẫu dự đoán được, trong đó mỗi phân đoạn có thời lượng cố định là 2 giây. Lựa chọn thiết kế này cho phép Origin dự đoán chính xác thời điểm các phân đoạn sẽ được xuất bản.

Nhận thức về Nhiều Quy trình và Lựa chọn Thông minh

Các luồng video trực tiếp chắc chắn sẽ chứa lỗi do tính chất khó đoán của nguồn cấp video trực tiếp và các thời hạn xuất bản thời gian thực nghiêm ngặt. Các vấn đề phổ biến bao gồm các phân đoạn ngắn với các khung hình video bị thiếu hoặc mẫu âm thanh, các phân đoạn hoàn toàn bị thiếu và sự gián đoạn về thời gian khi dấu thời gian giải mã không chính xác.

Chạy hai quy trình độc lập giúp giảm đáng kể khả năng cả hai quy trình cùng tạo ra các phân đoạn bị lỗi. Bởi vì các quy trình sử dụng các khu vực đám mây, bộ mã hóa và nguồn video khác nhau, khi một quy trình tạo ra phân đoạn bị lỗi, quy trình còn lại thường tạo ra phân đoạn tốt.

Live Origin tận dụng vị trí của mình trong luồng phân phối để đưa ra các quyết định thông minh. Khi Open Connect yêu cầu một phân đoạn, Origin sẽ kiểm tra các ứng cử viên từ cả hai quy trình theo một thứ tự định trước và chọn cái hợp lệ đầu tiên. Để phát hiện lỗi, Packager thực hiện kiểm tra phương tiện nhẹ và bao gồm thông tin lỗi dưới dạng siêu dữ liệu khi xuất bản các phân đoạn cho Origin. Trong trường hợp hiếm hoi khi cả hai quy trình đều có các phân đoạn bị lỗi, thông tin này sẽ được chuyển tiếp xuống hạ nguồn để các client có thể xử lý lỗi một cách phù hợp.


Không có bot họp xâm phạm (Được tài trợ)

Bạn đã bao giờ tham dự một cuộc họp mà một bot ngẫu nhiên tham gia và đột nhiên mọi người đều bị phân tâm?

Granola hoạt động khác biệt.

Không có bot họp. Không có gì tham gia cuộc gọi của bạn.
Granola ghi âm trực tiếp từ âm thanh của thiết bị bạn (trên máy tính hoặc điện thoại của bạn). Nó hoạt động với mọi công cụ họp: Zoom, Google Meet, Microsoft team... và thậm chí cả các cuộc trò chuyện trực tiếp.

Bạn tập trung và ghi chú như bình thường.
Granola lặng lẽ ghi âm và nâng cao các phần quan trọng ở chế độ nền.

Và nếu bạn muốn cẩn thận hoặc tuân thủ hơn, bạn luôn có thể gửi một email xin phép nhanh trước - tự động thông báo việc bạn sử dụng Granola.

Hãy thử Granola trong cuộc họp tiếp theo của bạn và xem nó dễ dàng hơn bao nhiêu để bạn luôn tập trung.

→ Tải xuống Granola (Miễn phí)

Nhận một tháng miễn phí cho bất kỳ gói trả phí nào bằng cách sử dụng mã BYTEBYTEGO


Tối ưu hóa cho Open Connect

Khi dự án Live bắt đầu, Open Connect được tối ưu hóa cao cho việc phân phối VOD. Netflix đã dành nhiều năm để điều chỉnh nginx (một máy chủ web) và hệ điều hành cơ bản cho trường hợp sử dụng này. Không giống như các CDN truyền thống điền vào bộ nhớ đệm theo yêu cầu, Open Connect đặt trước các tài sản VOD trên các máy chủ được lựa chọn cẩn thận gọi là Open Connect Appliances (OCA).

Phát trực tiếp không hoàn toàn phù hợp với mô hình này, vì vậy Netflix đã mở rộng chức năng bộ nhớ đệm proxy của nginx. Họ đã thực hiện một số tối ưu hóa để giảm lưu lượng truy cập không cần thiết và cải thiện hiệu suất.

Các node Open Connect nhận các mẫu phân đoạn giống như được cung cấp cho các client. Sử dụng thông tin mẫu, OCA có thể xác định phạm vi phân đoạn hợp pháp cho bất kỳ sự kiện nào tại bất kỳ thời điểm nào. Điều này cho phép chúng từ chối ngay lập tức các yêu cầu cho các phân đoạn nằm ngoài phạm vi này, ngăn chặn các yêu cầu không cần thiết đi qua mạng đến Origin.

Khi một phân đoạn chưa có sẵn và Origin nhận được yêu cầu cho nó, Origin sẽ trả về mã trạng thái 404 (Không tìm thấy tệp) cùng với chính sách hết hạn. Open Connect có thể lưu trữ phản hồi 404 này cho đến ngay trước khi phân đoạn dự kiến sẽ được xuất bản. Điều này ngăn chặn các yêu cầu thất bại lặp đi lặp lại.

Netflix đã triển khai một tối ưu hóa thông minh cho các yêu cầu ở rìa luồng trực tiếp (live edge), là phần mới nhất của luồng. Khi một yêu cầu đến cho phân đoạn tiếp theo sắp được xuất bản, thay vì trả về một 404 khác sẽ lan truyền ngược qua mạng đến client, Origin sẽ giữ yêu cầu đó mở. Một khi phân đoạn được xuất bản, Origin sẽ ngay lập tức phản hồi yêu cầu đang chờ xử lý. Điều này làm giảm đáng kể lưu lượng mạng cho các yêu cầu đến sớm một chút.

Để hỗ trợ chức năng này, Netflix đã thêm bộ nhớ đệm theo mili giây vào nginx. Kiểm soát bộ nhớ đệm HTTP tiêu chuẩn chỉ hoạt động ở độ chi tiết giây, quá thô khi các phân đoạn được tạo mỗi 2 giây.

Truyền siêu dữ liệu qua HTTP Headers

Netflix sử dụng các tiêu đề HTTP tùy chỉnh để giao tiếp các sự kiện truyền phát theo cách có khả năng mở rộng cao. Đường ống truyền phát trực tiếp cung cấp thông báo cho Origin, nơi chèn chúng dưới dạng tiêu đề HTTP vào các phân đoạn được tạo tại thời điểm đó. Các tiêu đề này là tích lũy, nghĩa là chúng duy trì cho các phân đoạn tiếp theo.

Bất cứ khi nào một phân đoạn đến OCA, thông tin thông báo sẽ được trích xuất từ tiêu đề phản hồi và lưu trữ trong bộ nhớ bằng ID sự kiện làm khóa. Khi OCA phục vụ một phân đoạn cho máy khách, nó sẽ đính kèm dữ liệu thông báo mới nhất vào phản hồi. Hệ thống này đảm bảo rằng, bất kể người xem đang ở đâu trong luồng, họ đều nhận được dữ liệu thông báo mới nhất. Các thông báo thậm chí có thể được truyền trên các phản hồi không cung cấp phân đoạn mới.

Cách tiếp cận này cho phép Netflix giao tiếp thông tin như tạm dừng quảng cáo, cảnh báo nội dung hoặc cập nhật sự kiện trực tiếp tới hàng triệu thiết bị một cách hiệu quả và độc lập với vị trí phát lại của chúng.

Vô hiệu hóa Cache và Che giấu Origin

Netflix đã xây dựng một hệ thống vô hiệu hóa có thể xóa tất cả nội dung liên quan đến một sự kiện bằng cách thay đổi số phiên bản được sử dụng trong các khóa cache. Điều này đặc biệt hữu ích trong quá trình thử nghiệm trước sự kiện, cho phép mạng quay trở lại trạng thái ban đầu giữa các lần thử nghiệm.

Mỗi phân đoạn được xuất bản bởi Live Origin bao gồm siêu dữ liệu về đường ống mã hóa nào đã tạo ra nó và nó đến từ vùng nào. Hệ thống vô hiệu hóa nâng cao tính đến các biến thể này. Netflix có thể vô hiệu hóa một phạm vi số phân đoạn cụ thể, nhưng chỉ khi chúng đến từ một bộ mã hóa cụ thể hoặc từ một bộ mã hóa cụ thể trong một khu vực cụ thể.

Kết hợp với khả năng vô hiệu hóa cache này, Live Origin hỗ trợ che giấu đường ống mã hóa có chọn lọc. Tính năng này cho phép các nhóm vận hành loại trừ các phân đoạn có vấn đề khỏi một đường ống cụ thể khi phục vụ cho Open Connect. Khi các phân đoạn xấu được phát hiện trong một sự kiện trực tiếp, hệ thống này bảo vệ hàng triệu người xem bằng cách ẩn nội dung có vấn đề, đặc biệt quan trọng trong cửa sổ phát lại DVR khi người xem có thể tua lại phần đó của luồng.

Sự tiến hóa của Kiến trúc Lưu trữ

Netflix ban đầu sử dụng AWS S3 để lưu trữ Live Origin, tương tự như cơ sở hạ tầng VOD của họ. Điều này hoạt động tốt cho các sự kiện có lưu lượng truy cập thấp, nhưng khi họ mở rộng, họ nhận thấy rằng truyền phát trực tiếp có các yêu cầu riêng biệt và khác biệt đáng kể so với nội dung theo yêu cầu.

Mặc dù S3 đáp ứng các đảm bảo thời gian hoạt động đã nêu của nó, nhưng ngân sách thử lại nghiêm ngặt 2 giây vốn có của các sự kiện trực tiếp có nghĩa là bất kỳ sự chậm trễ nào cũng trở thành vấn đề. Trong truyền phát trực tiếp, mọi thao tác ghi đều rất quan trọng và nhạy cảm về thời gian. Các yêu cầu gần giống với cơ sở dữ liệu toàn cầu, có độ trễ thấp và tính khả dụng cao hơn là lưu trữ đối tượng.

Netflix đã thiết lập năm yêu cầu chính cho hệ thống lưu trữ mới.

  • Đầu tiên, họ cần tính khả dụng ghi cực kỳ cao trong một khu vực AWS duy nhất với khả năng sao chép có độ trễ thấp sang các khu vực khác. Bất kỳ thao tác ghi bị lỗi nào trong vòng 500 mili giây đều được coi là lỗi.

  • Thứ hai, hệ thống cần xử lý thông lượng ghi cao với hàng trăm megabyte sao chép trên các khu vực.

  • Thứ ba, nó phải hỗ trợ hiệu quả các thao tác ghi lớn tích lũy tới hàng nghìn khóa cho mỗi phân vùng.

  • Thứ tư, họ cần tính nhất quán mạnh mẽ trong cùng một khu vực để đạt được độ trễ đọc dưới một giây.

  • Thứ năm, trong các tình huống xấu nhất liên quan đến các trường hợp biên của Open Connect, hệ thống có thể cần xử lý gigabyte thông lượng đọc mà không ảnh hưởng đến các thao tác ghi.

Netflix trước đây đã xây dựng một Trừu tượng Lưu trữ Khóa-Giá trị (Key-Value Storage Abstraction) sử dụng Apache Cassandra để cung cấp lưu trữ theo phân đoạn cho các giá trị lớn. Trừu tượng này ban đầu được xây dựng để hỗ trợ lưu trò chơi trên đám mây, nhưng trường hợp sử dụng Live sẽ đẩy giới hạn của nó về tính khả dụng ghi, kích thước phân vùng tích lũy và thông lượng đọc.

Giải pháp chia các tải trọng lớn thành các phân đoạn có thể được thử lại độc lập. Kết hợp với mô hình nhất quán local-quorum của Apache Cassandra, cho phép tính khả dụng ghi ngay cả khi một Vùng khả dụng bị lỗi, và một công cụ lưu trữ Cây hợp nhất dạng nhật ký (Log-Structured Merge Tree) được tối ưu hóa cho việc ghi, Netflix có thể đáp ứng bốn yêu cầu đầu tiên.

Hiệu suất đã được cải thiện đáng kể. Độ trễ trung vị giảm từ 113 mili giây xuống còn 25 mili giây, và độ trễ phân vị thứ 99 cải thiện từ 267 mili giây xuống còn 129 mili giây. Giải pháp mới này tốn kém hơn, nhưng việc giảm thiểu chi phí không phải là mục tiêu chính.

Tuy nhiên, việc xử lý trường hợp lỗi của Origin Storm đòi hỏi thêm công sức. Trong kịch bản này, hàng chục bộ nhớ đệm hàng đầu của Open Connect có thể đồng thời yêu cầu nhiều phân đoạn video lớn. Các tính toán cho thấy thông lượng đọc trong trường hợp xấu nhất có thể đạt 100 gigabit mỗi giây trở lên.

Netflix có thể phản hồi các yêu cầu đọc với tốc độ đường truyền mạng từ Apache Cassandra, nhưng quan sát thấy hiệu suất ghi đồng thời bị suy giảm không thể chấp nhận được. Để giải quyết vấn đề này, họ đã giới thiệu bộ nhớ đệm ghi trực tiếp (write-through caching) bằng EVCache, hệ thống bộ nhớ đệm phân tán của họ dựa trên Memcached. Điều này cho phép hầu hết các yêu cầu đọc được phục vụ từ một bộ nhớ đệm có khả năng mở rộng cao, cho phép thông lượng 200 gigabit mỗi giây trở lên mà không ảnh hưởng đến đường dẫn ghi.

Trong kiến trúc cuối cùng, Live Origin ghi và đọc từ KeyValue, hệ thống quản lý bộ nhớ đệm ghi trực tiếp sang EVCache và triển khai một giao thức phân đoạn trải rộng các giá trị lớn trên cụm lưu trữ Apache Cassandra. Hầu hết tải đọc được xử lý từ bộ nhớ đệm, chỉ những trường hợp bỏ lỡ bộ nhớ đệm mới ghi vào lớp lưu trữ. Sự kết hợp này đã đáp ứng thành công các nhu cầu khắt khe của Live Origin trong hơn một năm.

Khả năng mở rộng và Ưu tiên yêu cầu

Nền tảng phát trực tiếp của Netflix xử lý một lượng lớn các bản truyền phát đa dạng cho mỗi sự kiện trực tiếp. Sự phức tạp này đến từ việc hỗ trợ nhiều định dạng mã hóa video với nhiều cấp độ chất lượng khác nhau, nhiều tùy chọn âm thanh trên các ngôn ngữ và định dạng, và các phiên bản nội dung khác nhau như luồng có hoặc không có quảng cáo. Trong sự kiện chiến đấu giữa Tyson và Paul năm 2024, Netflix đã chứng kiến kỷ lục cao nhất với 65 triệu lượt stream đồng thời.

Netflix đã chọn xây dựng một hệ thống origin có khả năng mở rộng cao thay vì dựa vào các origin shield truyền thống để kiểm soát tính nhất quán của bộ đệm tốt hơn và kiến trúc hệ thống đơn giản hơn. Live Origin kết nối trực tiếp với các nút Open Connect hàng đầu được phân phối về mặt địa lý trên nhiều địa điểm. Để giảm thiểu tải cho origin, chỉ các nút được chỉ định cho mỗi bản truyền phát tại mỗi địa điểm mới có thể lấy trực tiếp từ origin.

Xem sơ đồ bên dưới:

Mặc dù dịch vụ nguồn có thể mở rộng theo chiều ngang bằng cách sử dụng các phiên bản EC2, các tài nguyên hệ thống khác như dung lượng nền tảng lưu trữ và băng thông đường trục không thể tự động mở rộng. Không phải tất cả các yêu cầu đến nguồn trực tiếp đều có tầm quan trọng như nhau. Các ghi vào nguồn là quan trọng nhất vì lỗi trực tiếp ảnh hưởng đến đường ống truyền phát. Các đọc từ nguồn cho cạnh trực tiếp là quan trọng vì lỗi ảnh hưởng đến phần lớn các máy khách. Các đọc từ nguồn cho chế độ DVR ít quan trọng hơn vì lỗi chỉ ảnh hưởng đến các máy khách đang tua lại.

Netflix đã triển khai khả năng cô lập xuất bản toàn diện để bảo vệ các ghi vào nguồn nhạy cảm với độ trễ và nhạy cảm với lỗi. Nguồn sử dụng các ngăn xếp EC2 riêng biệt cho lưu lượng xuất bản và CDN. Lớp trừu tượng hóa lưu trữ có các cụm riêng biệt cho các hoạt động đọc và ghi. Lớp lưu trữ tự nó tách biệt đường dẫn đọc qua EVCache khỏi đường dẫn ghi qua Cassandra. Việc cô lập đường dẫn hoàn chỉnh này cho phép mở rộng độc lập lưu lượng xuất bản và truy xuất, đồng thời ngăn chặn các đợt truy cập CDN ảnh hưởng đến hiệu suất xuất bản.

Live Origin triển khai giới hạn tốc độ dựa trên ưu tiên khi hệ thống nền tảng gặp áp lực. Cách tiếp cận này đảm bảo rằng các yêu cầu có tác động người dùng lớn hơn sẽ thành công, trong khi các yêu cầu có tác động người dùng thấp hơn được phép thất bại trong các giai đoạn tải cao. Lưu lượng cạnh trực tiếp được ưu tiên hơn lưu lượng DVR trong các giai đoạn tải cao trên nền tảng lưu trữ. Việc phát hiện dựa trên mẫu phân đoạn có thể dự đoán được, được lưu trữ trong bộ nhớ tại nút nguồn. Điều này cho phép đưa ra quyết định ưu tiên mà không cần truy cập kho dữ liệu, điều này có giá trị, đặc biệt là trong các giai đoạn áp lực kho dữ liệu.

Để giảm thiểu các đợt truy cập, Netflix sử dụng kiểm soát bộ nhớ đệm TTL cùng với giới hạn tốc độ ưu tiên. Khi lưu lượng có ưu tiên thấp bị ảnh hưởng, Nguồn hướng dẫn Open Connect lưu trữ các yêu cầu giống nhau trong 5 giây bằng cách đặt chỉ thị max-age và trả về mã lỗi HTTP 503. Chiến lược này làm giảm các đợt truy cập bằng cách ngăn chặn các yêu cầu lặp lại trong khoảng thời gian 5 giây đó.

Xử lý các đợt tấn công 404

Việc cô lập xuất bản và giới hạn tốc độ ưu tiên bảo vệ thành công nguồn trực tiếp khỏi các đợt tấn công lưu lượng DVR. Tuy nhiên, các đợt tấn công lưu lượng được tạo ra bởi các yêu cầu cho các phân đoạn không tồn tại đặt ra những thách thức và cơ hội tối ưu hóa bổ sung.

Live Origin cấu trúc siêu dữ liệu theo phân cấp dưới dạng sự kiện, bản dựng luồng và phân đoạn. Mẫu xuất bản phân đoạn được duy trì ở cấp độ bản dựng luồng. Tổ chức phân cấp này cho phép nguồn từ chối các yêu cầu bằng cách sử dụng siêu dữ liệu cấp sự kiện và bản dựng luồng có thể lưu trữ bộ nhớ đệm cao một cách chủ động, tránh các truy vấn không cần thiết đến siêu dữ liệu cấp phân đoạn.

Quá trình hoạt động như sau:

  • Nếu sự kiện không xác định, yêu cầu sẽ bị từ chối với lỗi 404.

  • Nếu sự kiện đã biết nhưng thời gian yêu cầu phân đoạn không khớp với thời gian xuất bản dự kiến, yêu cầu sẽ bị từ chối với lỗi 404 và TTL kiểm soát bộ nhớ đệm khớp với thời gian xuất bản dự kiến.

  • Nếu sự kiện đã biết nhưng phân đoạn được yêu cầu chưa bao giờ được tạo hoặc đã bỏ lỡ thời hạn thử lại, yêu cầu sẽ bị từ chối với lỗi 410 (Gone), cho máy khách biết dừng yêu cầu.

Ở lớp lưu trữ, siêu dữ liệu được lưu trữ riêng biệt với dữ liệu media trong kho dữ liệu của mặt phẳng điều khiển. Khác với kho dữ liệu media, kho dữ liệu mặt phẳng điều khiển không sử dụng bộ nhớ đệm phân tán để tránh sự không nhất quán của bộ nhớ đệm. Siêu dữ liệu ở cấp độ sự kiện và phiên bản được hưởng lợi từ tỷ lệ truy cập bộ nhớ đệm cao khi bộ nhớ đệm trong bộ nhớ được sử dụng tại phiên bản live origin. Trong các cơn bão lưu lượng liên quan đến các phân đoạn không tồn tại, tỷ lệ truy cập bộ nhớ đệm cho truy cập mặt phẳng điều khiển dễ dàng vượt quá 90%.

Việc sử dụng bộ nhớ đệm trong bộ nhớ cho siêu dữ liệu xử lý hiệu quả các cơn bão 404 tại live origin mà không gây áp lực cho kho dữ liệu. Bộ nhớ đệm siêu dữ liệu này bổ sung cho bộ nhớ đệm media phân tán của hệ thống lưu trữ, cung cấp một giải pháp hoàn chỉnh để bảo vệ khỏi sự gia tăng lưu lượng.

Kết luận

Netflix Live Origin là một hệ thống tinh vi được xây dựng đặc biệt cho các yêu cầu độc đáo của phát trực tiếp ở quy mô lớn.

Thông qua các đường ống dự phòng, lựa chọn phân đoạn thông minh, các chiến lược bộ nhớ đệm được tối ưu hóa, xử lý yêu cầu ưu tiên và kiến trúc lưu trữ tùy chỉnh, Netflix đã tạo ra một nền tảng đáng tin cậy để cung cấp các sự kiện trực tiếp cho hàng triệu người xem đồng thời trên toàn thế giới.

Hệ thống cân bằng thành công các yêu cầu cạnh tranh về độ tin cậy ghi, khả năng mở rộng đọc và tính linh hoạt trong hoạt động, chứng tỏ hiệu quả của nó trong các sự kiện lớn như trận đấu Tyson vs. Paul đã đạt 65 triệu lượt xem đồng thời.

Tham khảo:

Tác giả: ByteByteGo

#substack#newsletter