Тенденция современных проектов развивается в сторону сервисно-ориентированной и параллельной архитектуры.
Часть вычислений приходится распределять в масштабе кластера на несколько серверов, и при распараллеливании могут возникнуть проблемы частичного пропадания и несогласованности данных, зависания процессов или гонки за ресурсами. Такие задачи синхронизации решаются с помощью блокировок, а в масштабе кластера используются внешние сервисы.
В моей практике приходилось строить такие сервисы самостоятельно, но впоследствии мы открыли для себя Zookeeper.
В данном докладе пойдет речь о проблемах параллелизма, какие есть паттерны решения проблем и немного о том, как мы решали это самописными средствами, но в основном свой доклад посвящу практике использования Zookeeper в распределенных системах.