Backend với Django và Nodejs

Chào mọi người, em đang làm một project clone Instagram cả FE & BE. Trong quá trình tìm hiểu thì em mới biết BE Instagram dùng Django để quản lí dữ liệu và NodeJS cho tính năng chat.
Cho em hỏi tại sao phải dùng NodeJS cho tính năng chat mà k dùng socket.io bên python luôn? Và nếu dùng cả 2 cái trên thì làm sao chúng giao tiếp với nhau mà response lại yêu cầu của người dùng hay chúng tách ra thành 2 cái webservices?

Do kiến trúc của NodeJS được thiết kế để làm việc với các tác vụ real-time như chat, streaming nên chắc trong tutorial của bạn người ta đã tách chat ra thành một webservice riêng. Thật ra app chat như vậy bạn xài NodeJS làm API luôn cũng được, chứ không cần tới Django đâu. :kissing: Nhưng nếu bạn muốn xài Django + Socket.io cho chat luôn cũng không sao. \OvO/

5 Likes

Tại theo em tìm hiểu thì instagram cũng làm django vs nodejs. Đang thắc mắc sao 2 cái đó tương tác vs nhau :frowning:

Bạn muốn tìm hiểu nó giao tiếp/tương tác như thế nào. Thì trước tiên bạn cần phải tìm hiểu về nhu cầu giao tiếp đã nè :3
Như khi Django WebService giao tiếp với NodeJS WebService thì để làm gì? Và ngược lại

Ví dụ

  • Khi user gửi request lên NodeJS để lưu chat, Django muốn lấy chat log -> Xài chung DB luôn cho nhanh.
  • Nếu NodeJS muốn xác thực user khi bắt đầu conversation (đoạn hội thoại) thì có thể gọi API bên Django để xác thực user thông qua Token gửi kèm. OvOb
5 Likes

Em cảm ơn nhiều ạ. Em hiểu rồi

Ngoài ra thì kiến trúc phần mềm mà Instagram, Facebook, Google,…dùng được gọi là Microservice, nếu muốn làm app clone Instagram thì cần phải tìm hiểu về cái này.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?