Yük dengeli ortamda Zend_Search_Lucene Endeksi Yönet

2 Cevap php

Kümedeki her sunucu sunucuların her 15 dakikada birinin senkronize edilir aa arama indeksine sahiptir. Bir dizine ekleme çünkü sürünün bir nfs üzerinde olamaz çünkü bu yapıldı; bkz documentation (ya da başka bir dizin tüm sunucuların erişim paylaşılan bir klasörde olacaktır).

Ben çalıştırıyorum sorun bir eylem indeksin değiştirerek gerektirir alınmış olması durumunda, değişiklikler endeksin yerel kopya olur ve ben az müdahaleci bir şekilde geri ebeveyne bu değişiklikleri senkronize bir şekilde ihtiyaç olduğunu mümkün olduğunca (değişiklikleri sonraki eşitleme tarafından kümedeki tüm sunuculara yaymak böylece).

Ben http üzerinden ana sunucu dizin başvuran çalıştı ama mkdir http üzerinden yapılamaz, çünkü bu iş olmaz. Bir uzak sunucu indeksi başvurmak için bir yolu var mı? De kabul edilecektir mevcut tamamen farklı bir yaklaşım varsa

2 Cevap

Ben bu durumu anlamak gibi, sunucunun endeksten biri size bir sonraki rsync gerçekleşmeden önce rsynch kaynağı olarak ana dizin güncelleştirme almak istiyorsanız modifikasyon uğrar - eğer güncelleme ile tüm sunucularını güncellemek için.

Yerine rsync-ing ana sunucu indeksi, neden rsync için kaynak olarak son değiştirilme tarihini almaya rsync değil? Sunucu D endeksi son güncelleme ana sunucu A indeksi büyükse Yani, sadece D kaynağındaki tüm sunucularını senkronize

Ben doğru durumu anlamak mı?

Düzenle

O durumda, endeks-es inşa kodunu düzenlemek ve güncellemek için böylece bir kabuk komut dosyası için bir exec çağrısı başlatmak veya manuel komutunu inşa halinde endeksin önceki yapı farklı olup olmadığını görmek için denetler bir çizgi eklemek merkezi sever. Bu şekilde merkezi sunucu anında güncellemeleri alacak ve büyük senkron aşağı gittiğinde senin sorunun çözmüş olacaktır.

Aklıma iyi çözüm daha geleneksel bir Master / Slave çoğaltma deseni takip etmektir. RDBMS çoğaltma bazı ilham alın: tüm yazar master gitmeli.

Tabii ki, bu doğrudan yapamazsınız. Eğer söylediğim gibi, sen uzak dizin doğrudan yazamıyor.

Yani, bu bir seçenek size bırakır: köleler dolaylı dizini güncelleştirmek için kullanabileceğiniz ana sunucu üzerinde bir API / Hizmet Açığa. Daha sonra, tüm değişiklikler, sonraki zamanlanmış basarak geri senkronize olacak. Ben bu tasarım için önemli bir değişiklik olabilir fark yok, ama bir çoğaltılmış veya dağıtılmış bir ortamda, bu çoğu zaman gereklidir.