内网部署的自服务器如何与外网主服务器同步?

我们在用户内网中部署了我们的服务器B,B通过非固定公网IP访问外网,用户机可以使用B的服务,但用户无法连接外网。

情况就是,B 可以ping A,但A不能 ping B。

然后用户在外网就不能使用这个B的服务了,那只能用我们在公网的服务器A提供的服务。

然后现在面临的问题是,如何更好地保持AB服务器的同步。

有设想过人肉跑点,但是点太多,一天跑两个,一个月不用做其他活。

自问自答

目前经过一段时间的实验,已经基本达到想要的效果。
由于项目使用的是MongoDB2.x,有一个叫MongoBackup的增量同步工具可以通过oplog来备份增量内容。通过B来发起ssh与scp到A,达到数据同步的效果。

由于公网无法ping B,因此代码部署上使用webhook不可行。只能是在B中设置一个服务,监听某个端口的请求,然后由内网的工程师发送请求,B响应后跑sh脚本完成部署。

阅读 3.3k
2 个回答

docker可以做这个,自动同步,

需求没说明白,同步什么 单单的文件还是有MySQL之类的数据等等

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题