Причинный кластер Neo4j 3.1, драйвер PHP для графического ПО - поддерживается ли маршрутизация?
У нас есть причинный кластер neo4j 3.1 с тремя основными узлами.
Мы используем драйвер графического ПО PHP (у нас уже есть кодовая база в PHP, переход на другой язык в настоящее время не представляется возможным)
Вот как мы подключаемся:
$neo4j = ClientBuilder::create()
->addConnection('bolt+routing', 'bolt://user:pswd@ip:7687')
->setDefaultTimeout(99)
->build();
Я могу читать из кластера без проблем.
Проблема с записью: если предоставленный ip не является лидером, запись не выполняется. (Лидеры меняются, среди трехядерных узлов)
Есть ли в драйвере PHP графического ПО поддержка причинной кластеризации?
1 ответ
В настоящее время вы сможете самостоятельно реализовать простую маршрутизацию с помощью процедур мониторинга кластера и создания нового драйвера для write /read-bolt-URLs, если таблица маршрутизации изменится.
https://neo4j.com/docs/operations-manual/current/monitoring/causal-cluster/
Есть также некоторые конечные точки маршрутизации, которые могут помочь вам с балансировщиком нагрузки TCP:
/db/manage/server/core/available
/db/manage/server/core/writable
/db/manage/server/read-replica/available