为了提高页面渲染速度,我正在研究实现图像分片,它提供来自多个子域的图像。如何确保从同一服务器检索相同的图像?
我想避免像下面那样从多个域提供相同图像的场景: images1.domain.com/image1.gif images2.domain.com/image2.gif images2.domain.com/image3.gif images2.domain.com/image1.gif
我们正在运行Java - 有没有办法对image-filename进行校验和/指纹,并且总是将它分配给同一台服务器?
答案 0 :(得分:1)
使用内容相对路径的MD5哈希值,然后根据您拥有的分片域数量对其进行模数化。这预先假定MD5在输出的最后一位具有相当均匀的分布(如果你有两个分片)。我在这里的经历就是这样。这是另一个回答如何generate MD5 hash的问题的链接。
checksum的模数也可能足够并且计算速度更快。