我正在构建一个使用PostgreSQL进行数据存储的Django应用程序,以及使用Django Redis Cache进行Django会话存储的Redis。我还使用RQ进行异步作业队列。我构建了应用程序,以便我的PostgreSQL数据库驻留在单独的服务器上。我有两个问题:
感谢。
答案 0 :(得分:0)
假设你真的只有两台机器可以使用,我会说Web服务器上的Redis和数据库服务器上的RQ。
缓存靠近其消费者,其他地方的非延迟关键RQ。
但是,如果您在调用Redis之前获得了内存缓存,那么我也说要将Redis放在数据库服务器上,以便释放Web服务器的所有可用CPU周期
当然,在一个理想的世界中,这些服务中的每一个都是在单独的主机上,你可以调整大小(思考亚马逊风格的无缝升级)。首先,它们甚至可以位于相同的物理主机上,但使用合适的主机别名进行识别,以避免在代码中构建过多的主机假设。
如果可以的话,完全同意码头工人和安赛是很好的方法。