如何部署使用Redis的Meteor应用程序?

时间:2017-01-15 11:14:40

标签: node.js mongodb meteor redis

我最近偶然发现了这个包redis-oplog,这似乎是一个非常好的包。鉴于我没有使用Redis的经验,我做了一些搜索,发现有人说Redis甚至比Mongo Oplog更好,因此我想试试这个包用我的Meteor项目。但是在我尝试之前,我对部署有一些疑问:

  • 我是否需要专门用于运行Redis的单独服务器?
  • 如果我买不起Redis的服务器,可以在与Meteor应用程序相同的服务器上运行Redis吗?
  • 如果我的Meteor应用程序有很多实例,Redis也是如此(不确定Redis是否可以拥有/需要多个实例?),我如何让它们一起工作?
  • 如果我设法使用Redis进行生产,我应该对Mongo服务器进行哪些更改?因为当时不再使用Mongo Oplog

2 个答案:

答案 0 :(得分:2)

  • 是的,您需要为redis设置单独的实例,您必须使用redis-sentinal设置容错系统,您可以在此处查找具有优缺点的不同配置和设置https://redis.io/topics/sentinel
  • 如果你没有能力为Redis安装服务器,你可以在已安装mongodb实例的服务器上运行它。如果你有一个。最后选项是在你的meteor实例所在地运行它,redis-oplog会更加高效根据现有数据,比mongodb-oplog。
  • 上面给出的链接中有redis架构的示例。连接到redis也与连接到mongodb相同
  • Mongo更改取决于您对mongo的其他用法。

答案 1 :(得分:2)

Ansible是一款适用于各种软件的不错的部署工具。我们对Redis的Ansible角色有很好的经验,David Wittman https://galaxy.ansible.com/DavidWittman/redis/这可以部署单个实例(用于开发,在包含所有组件的一个盒子上)或作为生产集群。 Meteor也可以通过Galaxy的角色部署,但我没有使用它们。