【问题标题】:deploying multiple servers that communicate with each other, best practices部署多个相互通信的服务器,最佳实践
【发布时间】:2011-12-15 21:12:01
【问题描述】:
说我有:
- 我要部署到服务器 A 的 Rails 应用程序
- 我要部署到服务器 B 的 Sinatra 应用程序
- Rails 应用需要与 Sinatra 应用通信
我可以设置 Capistrano 读取的配置文件来部署这两个应用程序。我可以在服务器 A 上放置一个 Rails 应用程序读取的配置文件,告诉 Rails 应用程序 Sinatra 应用程序在服务器 B 上。但是是否有最佳实践方法来自动化整个过程?
提前致谢,查克
【问题讨论】:
标签:
ruby-on-rails
sinatra
capistrano
thin
【解决方案1】:
最好的方法是使用消息传递。如果您不知道这是一种管理异步服务(又名应用程序)的技术。
这意味着即使您拥有很多像您一样的应用程序,也会让他们互相交谈,如果其中一个中断,消息传递技术会将数据放入队列中,这样就不会丢失。
有多种消息来源。但首先我建议您选择
Paul dix's book 是入门的主要信息来源。
另请访问Rabbitmq,这是目前最先进的消息传递技术之一。
但请记住,您的配置需要预先进行大量工作。但是一旦完成,您就会冷静下来。
这是我的微薄贡献。
Ps:我不是专家,我也在尝试实现这种架构。