Tôi có lợi khi thay đổi từ PHP sang Node.js (theo ngữ cảnh) [đã đóng]


8

Tình huống: Chúng tôi sắp triển khai những gì thực chất là một dịch vụ đăng nhập. Vì chúng tôi khá nặng về PHP, nên việc triển khai hiện tại sử dụng nó.

Chúng tôi sẽ có khoảng 200 máy tính (hầu hết trên cùng một mạng), mỗi máy sẽ gửi, qua HTTP POST, khoảng 5000 yêu cầu / ngày. Với mỗi yêu cầu chứa khoảng 300 byte dữ liệu.

Kết thúc nhận được lưu trữ tại Amazon và là một dạng PHP rất đơn giản với một số xác nhận đơn giản đặt mọi thứ vào cơ sở dữ liệu.

Bây giờ, gần đây tôi đã được giới thiệu về Node.js và tôi tò mò liệu nó có phù hợp với phần phụ trợ ở đây không.

Cấp tôi có thể dễ dàng xây dựng một cái gì đó để kiểm tra điều này. Nhưng vì tôi chưa hoàn toàn nắm bắt được phương pháp đồng bộ hóa, tôi thực sự muốn một người có kinh nghiệm giải thích cho tôi.


Đây là bài viết đầu tiên của tôi về Lập trình viên, vì vậy tôi không chắc về loại câu hỏi ưa thích. Điều này có thể là "hạ cấp", nhưng tôi đang mạo hiểm.
vào

2
+1. Câu hỏi có vẻ tốt đối với tôi: cả mang tính xây dựng và không quá cục bộ.
Arseni Mourzenko

10
Tại sao bạn đang xem xét một nền tảng khác, nếu nền tảng hiện tại của bạn hoạt động? Tò mò là tuyệt vời, nhưng với thiết lập và nhu cầu của bạn, tôi không nghĩ bạn nên thử nghiệm điều này chỉ vì khoa học. Tôi không biết nếu PHP làm mọi thứ bạn muốn, nhưng nếu nó không thấy bất kỳ điểm nào trong việc chuyển đổi nền tảng. Node.js rất tuyệt và việc làm quen với nó sẽ vô cùng quý giá, nhưng có lẽ bạn nên xem xét thực hiện nó trong một dự án nhỏ hơn? Một cái gì đó thích hợp hơn cho thử nghiệm?
yannis

@YannisRizos Giống như bạn nói Tôi nghĩ rằng thiết lập hiện tại sẽ xử lý tốt, ngay cả khi / khi chúng tôi phát triển. Vì vậy, theo một cách nào đó, nó chỉ dành cho khoa học và tham khảo cho dự án trong tương lai. Có khả năng tôi sẽ không thay đổi bất cứ điều gì, mà là đồ chơi với ý tưởng để tăng hiểu biết về Node. Về cơ bản - lấy một ví dụ thực tế và hy vọng cho một số câu trả lời khai sáng :)
danneth

1
@YannisRizos Tôi luôn thấy rằng một bài kiểm tra nhanh và đơn giản là đủ để cho tôi biết liệu có thứ gì đáng để theo đuổi hay không, nhưng để thực sự xem nó có khả năng hay không, tôi cần một dự án lớn hơn để làm việc - và không có gì tốt hơn là viết lại (cho mục đích thử nghiệm) của một thiết lập hiện có. Lợi ích lớn nhất là bạn có thể thấy nếu nó hoạt động chính xác như trước đây và bạn cũng có thể sử dụng nó để so sánh trực tiếp hiệu suất.
gbjbaanb

Câu trả lời:


11

Chúng tôi sẽ có khoảng 200 máy tính (hầu hết trên cùng một mạng), mỗi máy sẽ gửi, qua HTTP POST, khoảng 5000 yêu cầu / ngày. Với mỗi yêu cầu chứa khoảng 300 byte dữ liệu.

Đó là khoảng 10 req / s. Vì vậy, rõ ràng rằng bạn không cần phải chuyển đổi .

Lợi ích thực tế của việc chuyển đổi (bên cạnh việc có được kinh nghiệm quý giá)? Vâng, như bạn đã nói, bạn đang lưu trữ trên Amazon. Với node.js, bạn sẽ có ít tải hơn, nghĩa là bạn thậm chí có thể sử dụng một thể hiện vi mô cho loại tải đó, giúp bạn tiết kiệm một số tiền. Ngoài ra, là một khung không đồng bộ, nó có thể giảm độ trễ, ví dụ bằng cách gửi phản hồi trước khi lưu vào cơ sở dữ liệu.


7

Nếu bạn và nhóm của bạn có kinh nghiệm tốt với PHP và nó đủ đơn giản để thực hiện, tôi sẽ gắn bó với điều đó. Nếu lưu lượng truy cập tăng lên và đồng thời là một vấn đề, thì có thể đáng để nắm bắt với nút (cộng với việc học một ngôn ngữ mới luôn luôn vui vẻ !!).

Lợi ích khác của nút là; nó nhanh .

Nhưng một lần nữa trong kịch bản này, tôi không thể tưởng tượng rằng một số PHP được viết tốt sẽ gặp khó khăn khi xử lý tải.


Tải có lẽ sẽ không phải là một vấn đề trong trường hợp này, hơn nữa trong một dự án sắp tới được đề xuất. Thử nghiệm này (như suy nghĩ và phát triển tiềm năng) có nghĩa là gì để nắm bắt cách thức và thời điểm đồng thời sẽ có lợi
danneth

Ngoài ra, nếu bạn thực sự cần tốc độ và khả năng mở rộng, tôi sẽ xem xét việc xem vert.x
K ..

0

Tôi đã sử dụng node.js cho luận án BSc của mình và đó là một trải nghiệm rất hay. Thêm vào đó, nó được sử dụng cùng với một ứng dụng php để tôi có thể so sánh cả hai công nghệ.

Nếu bạn có đủ thời gian trên tay (không quá nhiều nếu bạn quen thuộc với javascript), thì bạn cũng có thể dùng thử. Bằng cách đó, bạn sẽ biết liệu có nên thực hiện nó trong dự án sắp tới có thể đòi hỏi nhiều đồng thời hơn không.


0

Giải thích tốt nhất về Node async là cuốn sách Node Beginners . Nó miễn phí (nhưng trị giá $ 10). Nó sẽ giải thích cách viết các máy chủ nút của bạn và được viết rất tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.