我使用Redis,因为它允许我横向扩展我的应用程序(多个服务器)。通过使用它的pub子功能,我的所有服务器都可以相互通信而无需共享内存。
到目前为止,很酷!我们可以添加更多的nodejs服务器,但是所有这些服务器都订阅了一台Redis服务器。所以我们的情况是,我们有许多NodeJs服务器只与一台Redis服务器通信,我们可以为更多的客户提供服务,但我们仍然有一台Redis。
从我的测试中,Redis服务器使用的资源更少,因此可以处理更多,但在这个设计中我认为是SPF。你怎么看?
设计可扩展系统的最佳方法是什么?我知道主/从Redis,但我仍然不相信它是否是最好的解决方案。
答案 0 :(得分:2)
是的,Redis是您描述的单点故障。不仅在某种意义上说,当它关闭时,你的应用程序就会关闭,但也就是说,如果你的某个进程删除或破坏了数据,那么它将永远丢失。
您可以使用多台Redis服务器并拥有良好的备份策略。
请参阅本教程以了解群集:
请参阅以下教程进行备份: