Ba
Hệ thống ProtonX được thiết kế bằng ngôn ngữ lập trình gì?
Tags
System DesignHệ thống ProtonX được thiết kế bằng ngôn ngữ lập trình gì?
Hai ngôn ngữ team ProtonX có rất nhiều kinh nghiệm và sử dụng để xây dựng các hệ thống của team.
1. Javascript để xây dựng ứng dụng
Ngôn ngữ được sử dụng cho các ứng dụng web app, ví dụ quản trị lớp học, quản trị nội dung người dùng viết.
- Phần Front-end sử dụng Framework React JS để xây dựng giao diện. ReactJS mạnh ở điểm cho phép đóng gói các khối giao diện(component) để sử dụng lại nhiều lần. Tuy nhiên điểm yếu là cách viết khó tiếp cận cho người mới, ví dụ Hook.
- Web server để nhận các yêu cầu của người dùng là Nodejs, điểm mạnh của Nodejs đó là có concurrency cao, một cách ngắn gọn đó là khả năng phục vụ một lượng lớn request mà không gián đoạn đột ngột. Đây là phía Back-end
Front-end giao tiếp với Back-end qua Restful API, đến tận bây giờ vẫn là giao thức phổ biến nhất và cũng được team sử dụng hệ thống AI của mình.
2. Python sử dụng xây dựng các hệ thống AI bao gồm
- Các dự án triển khai AI ra sản phẩm thực tế team dùng Python
- Chuyển video trên hệ thống thành văn bản phục vụ máy tìm kiếm
- Công cụ gõ thông minh Studio. giúp người soạn thảo nội dung Tiếng Việt tốt hơn.
Web server AI chứa mô hình sử dụng Flask được tăng tốc bằng Waitress. Tuy nhiên team chưa thấy vừa lòng khi sử dụng kiến trúc này. Python sẽ tiện để làm tiền xử lý dữ liệu còn làm server thì team tin là không phải lựa chọn tốt.
Cùng học thêm cách thiết kế các hệ thống này ở MLEs - Scale ML System 02, team sẽ chia sẻ chi tiết các kỹ thuật thiết kế hệ thống này.