通过Windows Azure Connect将Azure托管的Ruby on Rails应用程序连接到内部部署的SQL Server

时间:2011-02-22 20:48:02

标签: ruby-on-rails sql-server azure connect

我学到了什么:
  1. activerecord-sqlserver-adapter只需更改database.yml文件即可用于将RoR应用程序连接到SQL Server。非常尊重肯·柯林斯(http://www.engineyard.com/blog/2011/modern-sql-server-rails/
  2. Nick Hill向我们展示了如何在Windows Azure Web角色中托管RoR应用程序 (http://blogs.msdn.com/b/mcsuksoldev/archive/2010/02/26/9969876.aspx
  3. Wely Lau在“如何通过Windows Azure Connect建立云与内部部署之间的虚拟网络连接(第2部分 - 准备应用程序)”中向我们展示了如何在Windows Azure Web角色之间建立虚拟网络连接。带有Windows Azure Connect的内部部署SQL服务器。具体来说,Wely在她的文章的第2步和第3步中建立了内部部署的SqlDataSource。我会发布一个链接,但我是stackoverflow的新手,我只允许发布2个链接:(

无论如何,我想弄清楚的是:
  4.如何使用与Windows Azure Connect的虚拟网络连接将托管在Windows Azure Web角色中的RoR应用程序连接到内部部署的SQL Server(我认为这不像将database.yml文件更改为不幸地指向内部部署数据库)

我觉得这些成分在那里,但无法弄清楚怎么煮这顿饭可以这么说。对于某些上下文,我的应用程序用户被分组到团队中,团队必须能够准确指定他们的数据库所在的位置(例如,在云中或在他们自己的服务器上) - 因此是RoR / Azure,否则,Heroku将是我的主人。

我一直在考虑的替代方案是为那些希望使用自己的数据库并自己托管的团队分发应用程序的单独副本,在这种情况下,我已经完成了设置。但是,我担心当我考虑未来的更新和开发人员的快乐时,这可能会很快变得混乱。

欣赏你的想法。

3 个答案:

答案 0 :(得分:0)

一旦你设置了Connect(主要是在数据库服务器上安装代理),它确实应该像更改database.yml一样简单。为什么你认为它比那更难?

答案 1 :(得分:0)

您的主要问题是内部网络延迟(即长时间超时)和连接失败,而不是设置Azure Connect。您至少应该考虑使用与您的内部部署数据库同步的SQL Azure数据库。这在带宽方面也会更便宜。

答案 2 :(得分:0)

最新的v3 SQL Server适配器现在支持Azure http://groups.google.com/group/rails-sqlserver-adapter/browse_thread/thread/50dc2108c4fda584?hl=en

您必须使用最新的DBLIB / TinyTDS连接模式,这也意味着您必须使用使用OpenSSL编译的最新FreeTDS。所有细节都在这里。

https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Using-Azure https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Using-TinyTDS