Я недавно читал документ Paxos, теорему FLP и т.д. и оценивал Apache Zookeeper для проекта. Я также проходил через Chubby (служба распространения Google для распространения) и различную литературу по нему, доступную в Интернете. Мое фундаментальное использование для Zookeeper заключается в реализации репликации и общей координации для распределенной системы.
Мне было просто интересно, каково конкретное преимущество, которое Zookeeper или Chubby, такие как распределенная система блокировки, приносит в таблицу. В принципе, мне просто интересно, почему я не могу просто использовать кластер MySQL NDB. Я продолжаю слышать, что у MySQL много проблем с репликацией. Я надеялся, что некоторые с большим опытом по этому вопросу могут пролить свет на него.
Спасибо заранее.
Простейший список моих требований:
- У меня однородная распределенная система.
- Мне нужны некоторые средства поддержания согласованного состояния во всех моих узлах.
- Моя система предоставляет услугу, а взаимодействие с клиентами приведет к некоторому изменению коллективного состояния моей системы.
- Высокая доступность - это цель, поэтому сбой node не должен влиять на услугу.
- Я ожидаю, что система будет обслуживать по крайней мере пару 1000 req/sec.
- Я ожидаю, что коллективное состояние системы будет ограничено по размеру (в основном вставки/удаления будут временными... но в устойчивом состоянии я ожидаю много обновлений и чтений)