是Redis Pub/Sub Apt,用于中等尺寸的二进制数据



我打算通过Redis Pub/Sub发送给工人的工作。作业涉及处理图像(JPEG,20KB-800KB,通常约为150kb)。

直接将图像作为消息的有效载荷发送是个好主意吗?

我根本不认为这是一个问题。如果您有信心您的订户/工作人员将能够跟上订阅者,并且您不会冒险用尽RAM,那么我认为这是一种有效的方法。我不知道它是否像建议的那样比NGINX流程更好,但是作为内存数据存储,REDIS应该扩展到与硬件和网络限制相当接近。

请记住,Redis Pub/sub不是"耐用",因此,如果将图像发布到通道,目前没有人会订阅它。图像将无处可去。

如果您需要耐用性,可以使用REDIS列表来构建一个耐用的队列。

您可以通过base64将JPEG文件编码为字符串,然后将字符串发布到频道中。

发送数据的大小(有效载荷JPEG文件)将增加到约1.5倍至2倍。

最新更新