Какова правильная настройка конфигурации пульса схемы в базе данных NebulaGraph?

Поскольку я хочу, чтобы создание схемы в базе данных Nebula Graph было почти синхронизировано, что, если я установлюheartbeat_interval=1, не приведет ли это к тяжелым последствиям?

Схема и индексы создаются асинхронно, мы не знаем, когда создание будет завершено, поэтому я думаю, что лучше синхронно.

1 ответ

DDL в NebulaGraph (на данный момент 3.3.0) был разработан, чтобы быть асинхронным, и обычно нам (в худшем случае) нужно ждать 2 пульса, чтобы ожидать, что изменение схемы будет разветвлено для всех сторон.

Изменение пульса на слишком короткий интервал может привести к слишком большим накладным расходам сети, но статус службы слишком чувствителен к колебаниям сети.

Хотя я бы сказал, что значение сердцебиения в 1(сек):heartbeat_interval_secs=1в целом приемлемо, вы можете пойти с этим и некоторое время понаблюдать за кластером, чтобы убедиться, что все идет достаточно хорошо в вашей сетевой среде, спецификации и схеме трафика, которые могут различаться.

Если возможно, прежде чем NebulaGraph введет синхронизирующий DDL, я бы предложил на прикладном уровне реализовать оптимистическую экспоненциальную отсрочку DML-пробу после любого связанного DDL, где начальное время ожидания составляет около 2 интервалов сердцебиения, а когда первоначальный DML не удался, просто повторите попытку. затем.

Другие вопросы по тегам