Cách thức Node.js xử lý nhiều giao diện người dùng của Netflix

Cập nhật ngày: 20/04/2024 - Đã có 1081 lượt xem bài viết này!
Cách thức Node.js xử lý nhiều giao diện người dùng của Netflix
Việc thay đổi giao diện người dùng sang Node.js, Netflix có thể hợp lý hoá sự phát triển, cắt giảm thời gian xây dựng, và tăng sự tuỳ biến phần UI với mỗi người dùng.

Cách thức Node.js xử lý nhiều giao diện người dùng của Netflix

Việc thay đổi giao diện người dùng sang Node.js, Netflix có thể hợp lý hoá sự phát triển, cắt giảm thời gian xây dựng, và tăng sự tuỳ biến phần UI với mỗi người dùng.

“Node thực sự là sự lựa chọn hấp dẫn đối với chúng tôi, bời vì nó phù hợp tốt với các kỹ năng của các kỹ sư UI (giao diện người dùng), trích lời Kim Trott, giám đốc mảng Phát triển giao diện người dùng ở Netflix. Trott sẽ có một bài phát biểu nói về việc sử dụng Node tại Netflix trong hội thảo NodeSummit Interactive diễn ra vào tuần tới ở Portland, Oregon.

Theo truyền thống, Netflix sử dụng công nghệ Java cho doanh nghiệp của mình, nhưng “khi chúng tôi dịch chuyển từ các Data center truyền thống sang hệ thống Cloud, chúng tôi cũng đã chuyển sang kiến trúc dựa trên dịch vụ nhiều hơn” Trott nói. Công ty đang trong quá trình phá bỏ những gì từng là một dịch vụ Java nguyên khối sang một tập hợp những dịch vụ nhỏ hơn. Java vẫn đảm nhận vai trò chính trong xử lý backend của Netflix, nhưng tất cả mọi thứ phía người dùng nhìn thấy sẽ đến từ Node.js

Node.js là ngôn ngữ JavaScript phía server-side, cho phép các nhà phát triển lập trình cho cả Front-end và Back-end cho ứng dụng Web của mình. Node.js được xây dựng theo kiến trúc hướng sự kiện, nó là một nền tảng đặc biệt thích hợp để mở rộng với microservices.

 

Công việc thiết kế giao diện người dùng (UI design) ở Netflix yêu cầu rất khắt khe. Các dịch vụ của công ty phát hành cho rất nhiều loại thiết bị khác nhau, từ Web đến Mobile, cho đến cả những máy Console chuyên dụng. Các kỹ sư front-end “đã phải viết rất nhiều mã Java để xây dựng lên website, nhưng đồng thời họ cũng phải viết rất nhiều mã JavaScript phía client-side,” Trott nói. Với Node.js, họ có thể làm tất cả các công việc của mình trong JavaScript. Đội ngũ UI của Netflix sử dụng nền tảng Node cho dịch vụ Video.

Node cũng cải thiện đáng kể thời gian xây dựng. Ứng dụng Java có thể mất tới 40 phút để khởi động. “Đội phát triển đã không thể tiến nhanh hơn như họ muốn”.


Kiến trúc Node.js được sử dụng tại Netflix

Tương lai của Netflix và Node

Trong tương lai, Netflix cũng sẽ sử dụng Node cho lớp truy cập dữ liệu (data access layer) của mình, ngoài việc xây dựng giao diện người dùng như hiện nay. Phần Netflix client viết script với một API thay vì phải viết cho hàng trăm dịch vụ. Khi triển khai các script trong lớp dịch vụ API, client rút ra từ một tập hợp các lớp lưu trữ, chẳng hạn như thông tin thuê bao, dữ liệu metadata về phim ảnh, thông tin phụ đề, và nhiều hơn thế nữa. Hiện tại, các API script được triển khai trực tiếp lên một dịch vụ API riêng lẻ, làm hạn chế khả năng mở rộng quy mô hoặc cô lập các vấn đề phát sinh.

Như vậy, Netflix hiện đang phát triển một cách để viết các script như là các ứng dụng Node riêng biệt. Nếu một script thực thi không tốt, thì nó cũng chỉ cản trở hoặc giết chết dịch vụ của riêng mình chứ không ảnh hưởng đến toàn bộ hệ thống. Các ứng dụng Node này sẽ được chạy trên các Docker container bên cạnh Amazon Web Service’s Elastic Container Service (ECS), nhà cung cấp dịch vụ hạ tầng được Netflix lựa chọn. Điều này cho phép các container có thể chạy local và debug local, chứ không phải là debug với API server nguyên khối tại local.

Kiến trúc Javascript Client & Server Side tại Netflix với Node.JS

Node đã chứng tỏ được sự tiện dụng, và công ty chúng tôi đang mở rộng việc sử dụng nó trong các lớp khác của hệ thống, Trott nói.

Netflix đang nâng việc sử dụng Node của họ lên một bước xa hơn với Codex, là một tập hợp các khả năng để cung cấp các tính năng cụ thể cho khách hàng xác định, tuỳ thuộc vào thiết lập của khách hàng với những thiết bị đang sử dụng.

Ví dụ, nếu một khách hàng của Netflix sở hữu một Xbox, trong Codex, các nhà phát triển có thể tuỳ chỉnh một gói JavaScript sẽ nhắm mục tiêu đến thuê bao Netflix đó và thiết lập giải trí cụ thể của họ. Codex sẽ được quan tâm đặc biệt bởi những công ty làm việc với các dịch vụ Web đa nền tảng. Nó cũng có thể hỗ trợ trong việc kiểm thử A/B testing.

Netfix đang có kế hoạch phát hành Codex vào năm tới dưới dạng một dự án mã nguồn mở, Trott nói.

 

Bạn đang muốn tìm kiếm 1 công việc với mức thu nhập cao.
✅ Hoặc là bạn đang muốn chuyển đổi công việc mà chưa biết theo học ngành nghề gì cho tốt.
✅ Giới thiệu với bạn Chương trình đào tạo nhân sự dài hạn trong 12 tháng với những điều đặc biệt mà chỉ có tại IMIC và đây cũng chính là sự lựa chọn phù hợp nhất dành cho bạn:
👉 Thứ nhất: Học viên được đào tạo bài bản kỹ năng, kiến thức chuyên môn lý thuyết, thực hành, thực chiến nhiều dự án và chia sẻ những kinh nghiệm thực tế từ Chuyên gia có nhiều năm kinh nghiệm dự án cũng như tâm huyết truyền nghề.
👉 Thứ hai: Được ký hợp đồng cam kết chất lượng đào tạo cũng như mức lương sau tốt nghiệp và đi làm tại các đối tác tuyển dụng của IMIC. Trả lại học phí nếu không đúng những gì đã ký kết.
👉 Thứ ba: Cam kết hỗ trợ giới thiệu công việc sang đối tác tuyển dụng trong vòng 10 năm liên tục.
👉 Thứ tư: Được hỗ trợ tài chính với mức lãi suất 0 đồng qua ngân hàng VIB Bank.
👉  Có 4 Chương trình đào tạo nhân sự dài hạn dành cho bạn lựa chọn theo học. Gồm có:
1)  Data Scientist full-stack
2)  Embedded System & IoT development full-stack
3)  Game development full-stack
4)  Web development full-stack 
✅ Cảm ơn bạn đã dành thời gian lắng nghe những chia sẻ của mình. Và tuyệt vời hơn nữa nếu IMIC được góp phần vào sự thành công của bạn. 
✅ Hãy liên hệ ngay với Phòng tư vấn tuyển sinh để được hỗ trợ về thủ tục nhập học.
✅ Chúc bạn luôn có nhiều sức khỏe và thành công!

Tham khảo các khóa đào tạo nhân sự qua danh mục