2010-09-22 68 views
9

Tôi đang chạy giao diện người dùng PHP cho một ứng dụng thực hiện nhiều công việc với dữ liệu và sử dụng Cassandra làm kho dữ liệu.Sử dụng C++ để tính toán phụ trợ trong ứng dụng web

Tuy nhiên tôi biết PHP sẽ không cho tôi thực hiện tôi cần cho một số các tính toán (cũng như công tác quản lý đối với số lượng tuyệt đối của dữ liệu mà cần phải được trong bộ nhớ)

Tôi muốn viết các công cụ được hỗ trợ trong C++ và truy cập nó từ ứng dụng PHP. Tôi đang cố gắng tìm ra cách tốt nhất để giao tiếp cả hai.

Một số tùy chọn Tôi đã xem xét:

  1. Thrift (Một sự lựa chọn tự nhiên vì tôi đã sử dụng nó cho Cassandra)
  2. Nghị định thư Buffers
  3. gSOAP
  4. Apache Axis của Google

Ở trên chỉ là những điều tôi đã xem, tôi không giới hạn bản thân mình.

Dữ liệu được chuyển sang ứng dụng PHP rất nhỏ, do đó không cần phải phát trực tuyến. Chỉ có kết quả tính toán được chuyển giao.

Các bạn nghĩ sao?

+0

+1 cho một câu hỏi hay. Tôi mong các câu trả lời (btw, tôi lirk gSoap) – Mawg

+0

Cảm ơn, bạn thích điều gì về gSOAP? –

Trả lời

1

Thêm chi tiết về số lượng dữ liệu mà các tính toán của bạn sẽ cần có ích. Tiết kiệm dường như là một lựa chọn hợp lý. Bạn có thể sử dụng nó giữa PHP, nút tính toán của bạn và phụ trợ Cassandra. Nếu kết quả của bạn nhỏ, việc vận chuyển RPC của bạn giữa PHP và nút tính toán sẽ không tạo ra sự khác biệt quá nhiều.

2

Bạn có giới hạn bản thân để có C++ dưới dạng ứng dụng riêng biệt không? Bạn đã xem xét giao tiếp nó với PHP trực tiếp chưa? (tức là liên kết phần mở rộng C++ vào ứng dụng PHP của bạn).

Tôi không nói cách tiếp cận thứ hai nhất thiết phải tốt hơn phương pháp thứ nhất, nhưng bạn nên xem xét nó, bởi vì nó cung cấp một số lựa chọn cân bằng khác nhau. Ví dụ, độ trễ của việc truyền tải nội dung giữa PHP và C++ chắc chắn sẽ cao hơn khi cả hai là các ứng dụng riêng biệt hơn khi chúng cùng một ứng dụng được liên kết động.

+0

Tôi đã xem xét thêm nó với SWIG, nhưng tôi nghĩ rằng nó có ý nghĩa hơn đối với tôi để chỉ lấy dữ liệu ra khỏi Cassandra qua tiết kiệm cho ứng dụng C++ của tôi, thực hiện tính toán và truy vấn kết quả từ PHP. –

+0

@Stephen: cuối cùng đó là lựa chọn của bạn tất nhiên, tôi chỉ muốn nhấn mạnh rằng đây cũng là một con đường hợp lệ để có –

3

Nếu tôi là bạn tôi muốn sử dụng tiết kiệm, không có ý nghĩa kéo vào một khung RPC khác. Đi với những gì bạn có và đã biết. Tiết kiệm làm cho nó trở nên dễ dàng (bộ đệm giao thức của google, nhưng bạn không thực sự cần hai cơ chế khác nhau)

Các vấn đề liên quan