2

我和一个朋友想创建一个网站来操作 Facebook 数据。

结构是:

  • 一个 PHP Web 角色(包含网页、用户 OAuth 登录、与队列交互以及与 SQL Azure 数据库交互)
  • F# worker 角色(进行统计和大量数据提取)

该过程是(假设一个新用户):

  • 用户到达网页并通过 OAuth 登录 Facebook,然后 PHP Web 角色在工作待办事项队列中发布一条消息,其中包含登录信息和令牌。

  • F# worker 角色从 worktodo 队列中读取消息并开始进行数据处理(使用 Facebook API)和统计信息,然后将结果写入 SQL Azure 数据库。最后,它向 workdone 队列发布一条消息,说明它已成功为用户进行数据处理。

  • 最后,PHP Web 角色读取 workdone 队列并通知工作已完成,并显示算法结果。

我有两个问题:

  • 这个设计有很大的缺陷吗?

  • 最好的协作方式是什么:一个人编写 PHP,另一个人编写 F#,有没有办法使用两台不同机器的开发存储?

非常感谢!(抱歉,如果有些人觉得这些东西太基本了,我在所有这些事情上都是初学者)。

4

2 回答 2

2

If you wanted to follow a bit more experimental path, you could also try looking at Phalanger. This is a project that compiles PHP code to .NET, so it may be possible to run it directly on Azure and nicely collaborate with F# (Phalanger has a few language extensions that allow you to call any .NET objects and some API for calling Phalanger objects from C#).

I was involved in the project some time ago, but it is now beign developed by other people (and as you can see from the check-ins, it is quite active again and they would surely be interested in collaborating to resolve possible Azure issues). If you were interested, let me know - I can give you some contacts, so that you can discuss the Phalanger status on Azure with them.

于 2010-10-29T21:18:23.267 回答
1

I don't see anything wrong with this plan.

我认为没有办法让两台机器指向同一个开发存储,但您可以只使用云存储(即使在本地运行时)。我一直这样做;您将支付带宽和存储交易费用,但对于大多数正在测试的应用程序来说,这个成本是微不足道的。

于 2010-10-30T01:31:38.087 回答