Я читаю этот дизайн Дао в Facebook .
Говорят, что они поддерживают 2 слоя кэша для каждого шарда:
Есть два ярусы кэширующих кластеров в каждом географическом регионе. Клиенты общаются с первым уровнем, называемым последователями. Если на последователе происходит пропадание кэша, он пытается заполнить кэш второго уровня, называемого лидером. Лидеры общаются напрямую с кластером MySQL в этом регионе. Все ТАО пишет go через последователей к лидерам. Кэши обновляются по мере того, как ответ на успешную запись распространяется вниз по цепочке кластеров. Лидеры несут ответственность за поддержание согласованности кэша в регионе. Они также действуют как вторичные кэши, с возможностью кэширования объектов и ассоциаций в Fla sh
в чем смысл иметь 2 слоя кэша ??? Разве это не ужасная трата латентности? не пропустят ли все пропуски первого слоя и второй слой?
![tao image](https://i.stack.imgur.com/M5eHs.png)