我们在Rails 4.2上运行的仅限API的服务器拥有大量流量。每隔一段时间,数据就会相互交叉。例如,当Mailer撰写电子邮件时,它会将电子邮件发送给错误的人。
我们对代码进行了两次和三次检查,唯一的解释是数据相互交叉,就好像它们共享同一个会话一样。这会危及安全。
这是Rails的已知问题吗?我无法确定为什么会发生这种情况,并希望获得任何一般安全提示和建议,以确保数据不会受到损害,并且只能运行自己的线程/会话。
提前致谢。
答案 0 :(得分:0)
不,这是不应该发生的事情。数据不只是“交叉”。在事务中不包装原子数据库查询的唯一方法是混合数据并发生奇怪的事情。例如。阅读一些数据,更新一些东西。如果你有很多流量,两个用户同时开始阅读和更新,事情会变得奇怪。