2

A friend and I would like to create a website to manipulate Facebook data.

The structure is:

  • a PHP web role (contains the web page, user OAuth login, interacts with queues, and interacts with SQL Azure database)
  • an F# worker role (does statistics and quite heavy data extractions)

The process is (assuming a new user):

  • user arrives on the web page and logs onto Facebook via OAuth, the PHP web role then posts a message in a worktodo queue with the login info and token.

  • F# worker role reads the message off the worktodo queue and starts doing data crunching (using the Facebook API) and stats, then it writes the results to a SQL Azure database. Finally it posts a message to the workdone queue stating it has succeeded in doing the data processing for the user.

  • Finally the PHP web role reads the workdone queue and notices the work is done, and displays the algorithm results.

I have two questions:

  • Is there a big flaw in this design?

  • What is the best way to collaborate: one person will write the PHP and another the F#, is there a way to use development storage from two different machines?

Thanks a lot! (Apologies if some find this stuff too basic, I am very much a beginner in all these matters).

4

2 に答える 2

2

もう少し実験的な道をたどりたい場合は、Phalangerを試してみることもできます。これは PHP コードを .NET にコンパイルするプロジェクトであるため、Azure 上で直接実行し、F# と適切に連携することが可能になる可能性があります (Phalanger には、任意の .NET オブジェクトと、Phalanger を呼び出すための API を呼び出すことができるいくつかの言語拡張機能があります。 C#のオブジェクト)。

私は少し前にプロジェクトに関与していましたが、現在は他の人によって開発されています (チェックインからわかるように、再び非常に活発であり、Azure の問題を解決するために協力することに関心があるでしょう)。 . ご興味がありましたら、お知らせください。Azure での Phalanger のステータスについて話し合うことができるように、連絡先をお知らせします。

于 2010-10-29T21:18:23.267 に答える
1

この計画には何の問題もありません。

2台のマシンが同じ開発ストレージを指すようにする方法はないと思いますが、クラウドストレージを使用することはできます(ローカルで実行している場合でも)。私はいつもそうしています。帯域幅とストレージのトランザクションに対して料金を支払うことになりますが、テスト中のほとんどのアプリでは、このコストはごくわずかです。

于 2010-10-30T01:31:38.087 に答える