Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

Узнайте о подводных камнях act_as_ferret, на помощь придет DrbServer.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top