我有以下情况。我有两个Web应用程序在两个不同的服务器上运行。我想将server1 webapplication中的数据插入到server2 sqlite数据库中。
由于sqlite不支持远程连接,我正在寻找替代方法来插入数据,如调用webservice等。
建议任何可能的替代方案。
感谢。
PS:两台服务器都有在Yii + Apache开发的应用程序(不确定需要这些信息)
答案 0 :(得分:2)
这包括两个步骤:
至于授权:具有共享秘密的简单解决方案可能是
这个假设,SQlite方面完全信任MySQL方面。
答案 1 :(得分:0)
您可以在server2上创建一个小API来处理来自server1的更新/请求。 RESTful API会很好,为您的表创建合理的端点。请尝试查看Toro或Dispatch。然后,您可以使用curl函数或使用一些HTTP客户端库(如Guzzle。)与server2进行通信。
如果需要发送的更新频率很高,那么在后台进行消息传递可能是更好的方法。这将使您的应用程序更好地处理更多连接,并且不会阻止您处理网络请求的请求。如果是这种情况,你可以通过cron作业(不是实时),甚至更好的,使用Gearman来做到这一点。
对于服务器到服务器的安全问题,您可以通过以下方式限制访问: