acts_as_ferret с несколькими хостами

У меня есть все, что работает с ferret и activ_as_ferret для разработки (или локальным DRb), но я не могу заставить работать мое развертывание на нескольких хостах. Все удаленные системы получают ECONNREFUSED при доступе к порту. На сервере ferret демон прослушивает только локальный хост, несмотря на то, что в конфигурации указано полное доменное имя в качестве хоста.

Я также попытался переключиться на сокет UNIX для обмена данными между демоном-хорьком DRb и кодом приложения, но он тоже получает ECONNREFUSED. (Сокет доступен для всех машин через монтирование NFS).

Есть ли лучший способ сделать это или я должен искать другой поисковый индексатор? Благодарю.

2 ответа

Решение

Я выяснил, что если изменить адрес на druby://0.0.0.0: порт, он будет прослушивать все ips на сервере DRb; тем не менее, он не обеспечивает никакой защиты от неправильного внедрения кода в процесс DRb.

В основном не используйте хорька. Я на Xapian с act_as_xapian для RoR. Он поддерживает чтение нескольких процессов, но только одну запись, так что это автономный индекс. Однако я смогу использовать общий индекс для нескольких серверов через общую файловую систему (NFS).

Проверьте подводные камни act_as_ferret, с DrbServer на помощь

http://www.subelsky.com/2007/03/pitfalls-of-actsasferret-with-drbserver.html

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

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