>>Служба эксплуатации проводила учения по отключению одного ДЦ, и в какой-то момент кластер Hazelcast остался без половины своих нод. Все данные были успешно восстановлены из бэкапов группы партиций, а уменьшение количества нод в кластере позитивно сказалось на скорости работы.
Поскольку SmartRouting у Вас отключен, запросы с клиента идут не прямо на ноду, содержащую данные, а на случайную ноду кластера. Могут попасть и в другой ДЦ, затем запрос будет перенаправлен в «правильный» ДЦ. Запросы между ДЦ, обычно, гораздо медленнее запросов внутри одного ДЦ. Поэтому, когда один ДЦ отключился, все стало ~ в два раза быстрее.
И еще интересно: у Вас после восстановления данных из бэкапов новые бэкапы создались внутри одного ДЦ? Мне кажется, их не должно б быть. Тогда и скорость put'ов еще возрастет…
Собрал и выложил пре-релиз с новым функционалом, вот здесь можно его взять: https://github.com/dsukhoroslov/bagri/releases/tag/v1.1.0-EA1.
Swagger прилично утяжелил сборку, посмотрим, насколько он окажется полезен…
Максим, спасибо за статью. Похоже ты проект с гитхаба собирал, да? Я пре-релиз с REST-сервером еще выложить то не успел :). Ну ок, сегодня тогда займусь этим.
Максим, спасибо за статью. Про индексы немного поясню: да, поддерживаются уникальные индексы, а в MarkLogic они как раз отсутствуют. По причине использования MVCC, скорее всего. В других системах типа Mongo есть уникальные индексы, но нет транзакционности на много-документных операциях.
Еще в плюсы системе поставил бы исключительно простую масштабируемость, отказоустойчивость (не нужно отдельно конфигурировать бэкап-сервера, указывать кто чьей репликой яввляется и т.п.)…
Поскольку SmartRouting у Вас отключен, запросы с клиента идут не прямо на ноду, содержащую данные, а на случайную ноду кластера. Могут попасть и в другой ДЦ, затем запрос будет перенаправлен в «правильный» ДЦ. Запросы между ДЦ, обычно, гораздо медленнее запросов внутри одного ДЦ. Поэтому, когда один ДЦ отключился, все стало ~ в два раза быстрее.
И еще интересно: у Вас после восстановления данных из бэкапов новые бэкапы создались внутри одного ДЦ? Мне кажется, их не должно б быть. Тогда и скорость put'ов еще возрастет…
Swagger прилично утяжелил сборку, посмотрим, насколько он окажется полезен…
Еще в плюсы системе поставил бы исключительно простую масштабируемость, отказоустойчивость (не нужно отдельно конфигурировать бэкап-сервера, указывать кто чьей репликой яввляется и т.п.)…