Alibaba'nın karmaşık arama sisteminin güvenilirlik optimizasyonuna giden yol

arka fon

Arama motoru, e-ticaret platformunun işlem bağlantısının temel bağlantısıdır ve arama motorunun yüksek kullanılabilirliği, işlem verimliliğini doğrudan etkiler. Xianyu'nun arama motoru, Xianyu'nun önemli bir sistemidir ve karmaşıklığı ve sistem hacmi çok yüksektir.Ayrıca, Xianyu'nun tüm alışveriş rehberi senaryoları, arama yetkilendirmesine dayanır.Arama hizmetlerinin kararlılığı ve güvenilirliği, Xianyu'nun çoğu iş senaryosunun yeteneği haline gelmiştir. Ölçüm standartları; arama hizmetlerinin istikrarının ve yüksek kullanılabilirliğinin nasıl sağlanacağı büyük bir zorluk haline geldi.

Xianyu'nun çekirdek sistemi olan Xianyu Search, aşağıdaki olağanüstü özelliklere sahiptir:

  • Büyük hacimli veri: milyarlarca atıl balık ve yüz milyonlarca etkili motor malları ile yanaşma;
  • Büyük dizin: Yapılandırılmamış Xianyu ürünlerinin, değerli yapılandırılmış bilgileri tahmin etmek ve çıkarmak ve dizinler oluşturmak için algoritma ekibiyle işbirliği yapması gerekir. Yüzlerce indeks alanı oluşturulmuş ve motor indeks veri hacminin tamamı T seviyesindedir;
  • Birçok artımlı mesaj: günlük artımlı mesaj QPS'si yüzbinlerce ve en yüksek QPS milyonlara ulaşabilir;
  • Karmaşık sorgu: Birçok özel iş senaryosu, sert ve karmaşık sorgu koşulları gerektirir; örneğin GRUP gruplama istatistiklerini geri çağırma, toplama / kırma / tekilleştirme, anahtar kelime bileşik hesaplama sorgusu, vb .;
  • Gerçek zamanlı gereksinimler yüksektir: Xianyu'nun tümü ikinci el ürünlerdir ve satıcının ürün envanteri 1'dir. Ürünler sık sık raflara yerleştirilir ve çıkarılır ve motor verilerinin senkronizasyonu için gerçek zamanlı gereksinimler çok yüksektir;
  • Akıllı genişleme: Xianyu ürünlerinin yapılandırılmamış yapısı nedeniyle, geri çağrılan verilerin etkinliğini ve alaka düzeyini sağlamak için. Motorun akıllı eklentileri genişletme ve algoritma geliştiricileriyle işbirliği yapabilme yeteneğine sahip olması gerekir.

Xianyu emtia arama motorunun yukarıdaki ana özellikleri göz önüne alındığında, bu makale, okuyuculara ilham vermeyi umarak, Xianyu Search'ün sistem yüksek kullanılabilirliğinde yaptığı çeşitli çabaları ayrıntılı olarak tanıtmaktadır.

Xianyu arama genel mimarisi

Arama kararlılığı garanti programını resmi olarak tanıtmadan önce, Xianyu arama teknolojisi hakkında basit ve genel bir anlayışa sahip olmamız gerekir.

Birçok dış açık kaynak arama motorunu karşılaştırdık ve hiçbiri arka planda listelenen talep noktalarını mükemmel şekilde destekleyemiyor; Xianyu, Alibaba'nın çok verimli, akıllı ve güçlü bir arama motoru olan en yeni arama motoru platformu Ha3'ü kullanıyor. Xianyu aramasının gereksinimlerini tam olarak karşılar.

Elasticsearch, Lucene tabanlı yarı gerçek zamanlı bir arama motorudur ve aynı zamanda daha yaygın olarak kullanılan bir açık kaynak arama motorudur, ancak algoritma genişletme desteği / mutlak gerçek zamanlı yetenekler açısından Ha3'ten uzaktır; aynı donanım koşulları altında, 12 milyon veriye dayalı tek makine performans karşılaştırması Test, Ha3'ün ElasticSearch açık kaynak sisteminin QPS'sinden 4 kat daha yüksek olduğunu ve sorgu gecikmesinin 4 kat daha düşük olduğunu buldu; Elasticsearch'ün büyük ölçekli veri senaryolarındaki performansı ve kararlılığı hala HA3'ten uzak.

Ücretsiz balık arama sistemi operasyon süreci

Aşağıdaki şekil, esas olarak iki işleme ayrılan Xianyu arama sisteminin sistem yapısı diyagramıdır: çevrimiçi ve çevrimdışı:

Dizin oluşturma süreci

Dizin oluşturma sözde çevrimdışı süreçtir ve yürütme aracı BuildService, farklı depolama türlerinin düz metin ürün verilerini arama motoru biçiminde dizin dosyalarına oluşturmaktan sorumludur. İki tür orijinal ürün verisi vardır: Birincisi, düzenli olarak (genellikle günler olarak) DUMP aracılığıyla çıkarılan, depoda depolanan tam ürün verileri, diğeri ise gerçek zamanlı olarak değişen verilerdir. Ürün bilgileri değiştirildikten sonra, İş sistemi anında mesajlaşma sistemi Swift ile senkronize olur. Son olarak, dizini güncellemek için çevrimiçi hizmetin Araştırıcısına dağıtılır.

Arama sorgusu süreci

Arama sorguları, çevrimiçi süreçler dediğimiz şeydir. Xianyu arama hizmeti uygulaması A, bir arama isteği başlatır ve SP aracılığıyla hizmet yeteneklerini düzenler.

İlk olarak, SP kullanıcının niyetini tahmin etmek ve sıralama yardımcı bilgisini elde etmek için QP-algoritma hizmet çağrısını başlatır;

Ardından, Ha3 arama motoruna bir sorgu isteği başlatmak için QP tarafından döndürülen sonuçları ve iş sisteminin sorgu parametrelerini birleştirin;

Qrs Ha3 arama motorunda QueryService sorgu talebini aldıktan sonra, tersine çevrilmiş indeks geri çağırma, istatistikler, koşul filtreleme, belge puanlama ve sıralama ve özet oluşturma için QueryService'deki Searcher'a dağıtılır;

Son olarak, Qrs, Arayıcı tarafından döndürülen sonuçları entegre eder ve bunu SP'ye geri gönderir ve SP, tekilleştirmeden sonra iş sistemine geri döner.

Xianyu arama sistemi ekip bileşimi

Xianyu Search'ün işletim ve bakım sistemi, birçok ekibin işbirliğini içeren çok karmaşık bir bileşimdir.

Birincisi, en altta temel arama motoru yetenekleri sağlayacak, esas olarak Ha3 arama motorunun temel yeteneklerinin inşası ve bakımından sorumlu olan ve motor çalıştırma ve bakım işlem platformu ile gerçek zamanlı motor arama hizmetlerini sağlayacak ve sürdürecek Ha3 arama motoru ekibi olmalıdır.

Daha sonra Ha3 arama motorunda özelleştiren, kullanıcı arama deneyimini optimize eden, algoritma modeli aracılığıyla Xianyu'nun yapılandırılmamış ürünlerini anlayan, arama motoru ürün endeksinde kullanılmak üzere yapılandırılmış bilgileri tahmin eden ve çıkaran algoritma ekibi var. QP küme hizmetlerini izleyin ve sürdürün; Ha3 motor sıralama eklentisini geliştirin ve kullanın, veri toplama deneylerini geri çağırın ve doğrulayın ve optimize edin.

Son olarak, iş mühendisliği ekibimiz, tüm arama bağlantısının kullanılabilirliğini izlemek ve sürdürmek için tüm arama sürecini birbirine bağlar. Temelde arama ve yerleştirme verilerini koruyun, Ha3 arama motorunun erişim yönetimini yapın, SP arama hizmetlerini düzenleyin, makul sorgu planları oluşturun ve Xianyu arama birleşik çevrimiçi sorgu hizmetlerini geliştirin ve sürdürün.

Bu makale aynı zamanda işletme mühendisliği ekibinin iş perspektifinden başlar ve karmaşık arama iş sisteminin istikrarının nasıl sağlanacağını açıklar.

İstikrar yönetişimi

Dağıtım mimarisi optimizasyonu

Bağımsız ağ geçidi dağıtımı

Ha3 motoru, SP aracılığıyla HTTP protokolüne dayalı bir arama hizmeti API'si sağlar. Xianyu gibi karmaşık arama senaryoları için, her Xianyu'nun üst düzey işletmesi SP HTTP arayüz parametrelerini ekleyerek arama hizmetini kullanıyorsa, tüm yukarı akışlı işletmeler SP'nin ekleme dilbilgisini önemsemek, geliştirme maliyetini büyük ölçüde artıracaktır ve eğer SP özel nedenlerden dolayı dilbilgisi ayarlamalarına veya uyumsuz yükseltmelere maruz kalırsa, tüm üst düzey işletmelerin mantığı değiştirmesi gerekir ve bu tasarım mantıksızdır.

İş sistemini arama sisteminden tamamen ayırmak ve arama hizmetlerinin kullanım kolaylığını geliştirmek için Xianyu Search, Xianyunun üst düzey arama hizmetleri tarafından kullanılmak üzere birleşik bir iş arama ağ geçidi aracılığıyla basit ve tutarlı dağıtılmış hizmetler sağlar. SP'yi yukarı akışlı iş sistemine girmekten koruyarak arayüz oluşturma.

Başlangıçta, Xianyu arama hizmeti, diğer birçok ilgisiz iş senaryosu ile nispeten büyük bir temel uygulamada oluşturuldu. Bu dağıtım yöntemi, yüksek kararlılık gereksinimleri olan iş modülleri için çok büyük bir güvenlik riskine sahiptir:

  • Her iş modülü birbirini etkileyecektir: belirli bir derecede kod birleştirme vardır ve aynı zamanda makine kaynaklarının rekabetini içerir ve risk nispeten yüksektir;
  • Uygulama çok büyük, bu da geliştirme işbirliğinin verimliliğini ve kod kalitesini ciddi şekilde etkiliyor.
  • Bu nedenle, Xianyu arama hizmeti ayrı bir kapsayıcı grubuna dağıtılır ve yeni eklenen A uygulaması, her işletmenin arama hizmetini kullanması için bağımsız bir ağ geçidi olarak Xianyu arama hizmetine adanır.Aynı zamanda, hizmetin izole ve kararlı olmasını sağlamak için aşağı akış SP arama hizmetine bağlanır.

    Ön ve arka dağıtım şemaları aşağıdaki gibidir:

    Çok odalı olağanüstü durum kurtarma dağıtımı

    Başlangıçta, Xianyu'nun emtia arama hizmetine bağlı Ha3 arama motoru yalnızca bir bilgisayar odasında konuşlandırıldı. Bu bilgisayar odasında ciddi bir sorun ortaya çıktığında, yukarı akışlı işletmeler üzerinde büyük bir etkisi olacak ve hatta arızalara neden olacaktır. Bunun ışığında, Xianyu emtia arama motorunun çevrimiçi ve çevrimdışı kümeleri, çift bilgisayar odalarında felaket kurtarma için konuşlandırıldı. Ayrıntılı olarak ilerlemeden önce, Ha3 motor DUMP işleminin prensibini kabaca anlayalım:

    Yukarıdaki şekilde gösterildiği gibi, Ha3 motor DUMP'un genel süreci basitçe aşağıdaki adımlara bölünebilir:

    • Kaynak verileri hazırlayın: İş gereksinimlerini değerlendirin ve motora bağlanması gereken verileri hazırlayın. Genel iş verilerinin çoğu DB veri tablolarıdır ve ayrıca birkaç ODPS çevrimdışı veri tablosu vardır Algoritma ekibi tarafından sağlanan verilerin çoğu ODPS çevrimdışı veri tablolarıdır;
    • DUMP verileri çeker: Ha3 motor ekibi tarafından sağlanan işletim ve bakım platformu aracılığıyla, bu tabloların bazı veri alanları oluşturulan arama motoruna bağlanabilir. Sonraki DUMP yürütüldüğünde, Ha3 çevrimdışı motoru bu erişimleri çekecektir. Tablo alanı verileri, motorun kendi kullanımı için bir ayna veri tablosu oluşturur.Bu adımda, verileri temizlemek / filtrelemek için motor ekibi tarafından sağlanan UDF araçlarını kullanabiliriz;
    • Veri Birleştirme: Motor, tüm ayna tablo verilerini belirttiğimiz birincil anahtar aracılığıyla birleştirir ve son olarak motorun indeksler oluşturması için büyük bir veri tablosu oluşturur. Veriler bu adımda birleştirildikten sonra, nihai veriler UDF aracılığıyla daha fazla temizlenebilir / filtrelenebilir ve doğrulamayı geçen veriler geniş tabloya girecektir;
    • Dizini oluşturun ve güncelleyin: Ha3 çevrimdışı motoru, dizini yeniden oluşturmak için önceden Ha3 motor çalıştırma ve bakım platformunda belirlediğimiz Schame indeksiyle hizalamak için geniş geniş tablonun verilerini kullanmak için buildService kullanır.

    Yukarıdaki süreç Ha3 motor çalıştırma ve bakım platformu tarafından manuel olarak tetiklenebilir Yukarıdaki işlem gerçekleştirildikten sonra yeni bir dizin oluşturulacaktır. Yeni dizin kümesi hizmeti kullanılabilir olduktan sonra, çevrimiçi gerçek zamanlı modül, bir dizin güncellemesini tamamlamak için sorgu hizmetini yeni dizin kümesine geçirir. Bu tam sürece "tam miktar" diyoruz.

    Miktarın tamamı tamamlandıktan sonra, sistemde yeni bir ürün bilgisi değişikliği olduğunda ve ilgili veri tablosu gerçek zamanlı güncelleme için etkinleştirildiğinde (buna artımlı fonksiyon diyoruz, DB tablosu, Swift mesaj bildirimi ile binlog / ODPS tablosu aracılığıyla gerçekleştirilir), ardından Çevrimdışı DUMP motoru bu değişikliği algılar ve ardından ilgili ayna veri tablosundaki ürün verilerini günceller ve bu değişikliği motor dizini başarıyla güncellenene kadar motorun üst katmanına iletmek için çevrimdışı DUMP sürecindeki adımları takip eder. İlgili veriler veya sistem kuralları tarafından yarıya kadar atılana kadar. Bu gerçek zamanlı veri güncelleme işlemine "artımlı" denir. Artımlı güncelleme için bir kanal da vardır: algoritma öğrencileri, DUMP sürecinden geçmeden Swift artımlı mesajları aracılığıyla Ha3 motor indeksine güncellenmesi gereken verileri doğrudan güncellemek için özel bir yöntem kullanabilir.

    Atıl balık ürünlerinin hacmi hızla arttı ve şimdi milyarlarca kişiye ulaştı. Yüzlerce dizin alanına erişilir. Xianyu ürünlerinin yapılandırılmamış doğası nedeniyle, dizin alanlarının yalnızca küçük bir kısmı ticari kullanım içindir ve bunların çoğu, çok sayıda çıkarılmış etiket verisi, vektör gibi algoritmalar tarafından erişilen dizinlerdir. Vektörize edilmiş veriler çok büyük. Son durum, Xianyu emtia arama motorunun DUMP işleme mantığının nispeten karmaşık olması ve toplam indeks verisi miktarının son derece büyük olması ve artımlı mesaj hacminin de çok yüksek bir su seviyesinde olmasıdır.Ayrıca, Xianyu emtia listesinin envanterinin mevcut durumu doğrudur. Veri güncellemesinin gerçek zamanlı gereksinimleri çok yüksektir ve bu da kararlılık üzerinde büyük kısıtlamalar getirir.

    Dizin verileri, arama motoru içeriğinin temelidir.Motora giren dizin verilerinde bir sorun varsa veya yeni değiştirilen veriler motor dizininde güncellenmezse, arama hizmetinin kalitesini doğrudan etkileyecektir.

    Bir arama motorunun tek bir bilgisayar odasına konuşlandırılması sırasında, bazı kararsız faktörler nedeniyle DUMP genellikle tam olarak başarısız olur veya artış gecikir veya hatta durdurulur. Motor dökümüyle ilgili bir sorun olduğunda, onu geri yüklemek çok zordur.Birçok senaryoda, sorunu çözmek için tam yükün yeniden çalıştırılması bile gerekir. Ancak, Xianyu emtia endeksi veri hacmi büyüktür ve tam bir cilt yapmak genellikle yarım gün sürer.Kanamayı hızlı bir şekilde durdurmanın bir yolu yoktur, bu da iş üzerinde daha büyük bir etkiye sahiptir. Bu nedenle, arama motoru felaket kurtarma için iki bilgisayar odasına (M / N bilgisayar odası) yerleştirilir. Birbirinizi yedekleyin.

    İki çevrimdışı DUMP bilgisayar odası, sırasıyla iki çevrimiçi bilgisayar odası tarafından kullanılan aynı dizin verilerini üretmek için aynı motor konfigürasyonunu ve aynı veri kaynağını kullanır İki bilgisayar odasının çevrimiçi trafik oranı da gerektiğinde gerçek zamanlı olarak ayarlanabilir. M bilgisayar odasında geri dönüşü olmayan bir sorun olduğunda, hızlı çevrimiçi hemostaz sağlamak için tüm akışı otomatik veya manuel olarak N bilgisayar odasına geçirin ve ardından sorunu M bilgisayar odasında çözmek için adım adım.

    Aşağıdaki şekil, arama odasının son konuşlandırılmasını göstermektedir:

    Çift motor odalarının konuşlandırılması, makine kaynaklarının maliyetini artırsa da, yukarıda bahsedilen iş felaket kurtarma avantajlarına ek olarak, aşağıdaki faydalar da vardır:

    • Motor gereksinimlerinin yayınlanmasından önce, etkili bir gri ölçekli süreç yoktu. Arama motorunda büyük değişiklikler / yükseltmeler ve yüksek riskli sürümler olduğunda, önce tek bir bilgisayar odasında küçük akışlı bir beta testi gerçekleştirebilir ve veri karşılaştırma doğrulaması geçtikten sonra başka bir bilgisayar odasına yayınlayabilirsiniz;
    • Normalde tek bir bilgisayar odası, tüm arama ve sorgulama hizmetlerinin akışını destekleyebilir.Büyük bir promosyon veya büyük ölçekli bir etkinlik olduğunda, hizmet sağlamak için aynı anda iki bilgisayar odası monte edilebilir, böylece tek bilgisayar odasının sık sık genişlemesi ve daralması önlenerek arama hizmeti kapasitesi ve kapasitesi doğrudan iki katına çıkarılabilir. İçerikle ilgili sorun
    • Performans değerlendirme sırasında, trafiği ayrı ayrı taşımayan bilgisayar odasında basınç testi yapılabilir, aksama süresi basınç testinden kaynaklansa bile online işi etkilemeyecektir.

    Akış izolasyonu

    Yukarıdaki bağımsız ağ geçidi dağıtım bölümünde belirtildiği gibi, Xianyu Search, Xianyu'nun üst düzey arama hizmetleri tarafından kullanılmak üzere birleşik bir iş arama ağ geçidi aracılığıyla basit ve tutarlı dağıtılmış hizmetler sağlar. Birleştirilmiş mikro hizmetlerin kullanılması, kaçınılmaz olarak farklı yukarı akış iş öncelikleri ve güvenilirlik garantilerinin sorunlarını beraberinde getirecektir.

    Xianyu arama hizmeti, çok çeşitli yukarı akış işletmelerini destekler. Her bir iş senaryosunun akış / hizmet kalitesini tek tip bir şekilde ölçmek ve yönetmek için, yukarı akışlı işletme Xianyu arama hizmetine eriştiğinde, ilgili işletme kaynağına başvurmanız gerekir. Bu işletme kaynağı İşaret, tüm arama sorgusu yaşam döngüsüne eşlik edecektir. Doğrudan günlük toplama sırasında kullanılabilir, böylece iş boyutunu izleyebilir ve alarm verebilir, iş operasyonunun sağlığını gerçek zamanlı olarak gerçekleştirebilir (basit izleme görünümü aşağıdaki şekilde gösterildiği gibidir) ve ayrıca belirli iş akışını kontrol edebilir, akışı düşürebilir ve sınırlayabilir.

    İşletme kaynağı yaşam döngüsü diyagramını arayın

    Hiyerarşik izleme sistemi

    Yüksek stabiliteye sahip sistemler için, bir sorun meydana geldiğinde veya meydana gelmek üzereyken, sürekli genişlemeyi önlemek için gerçek zamanlı izleme ve işlemeyi kolaylaştırmak için hemen algılayabilmek özellikle önemlidir. Şu anda kullanılan ana yöntem, sağlam ve eksiksiz bir çok boyutlu izleme ve uyarı sistemi oluşturmaktır.

    Motor temel servis izleme

    İzlemeyi kullanmak sorunları hızla bulabilir ve izleme ayrıntı düzeyi yeterince iyiyse, sorunlar hızla tespit edilebilir. Bununla birlikte, bazen yanlış pozitifler veya eksik raporlar olabilir. Bu nedenle, gerçek izleme, temel bağlantıları ayırmak için her işletmenin kendi sisteminin özelliklerini birleştirmeli ve kilit bağlantılar için ölü açılar olmadan çok boyutlu 360 derece izleme gerçekleştirmeli ve makul Erken uyarı kuralları belirlendiğinde izleme ve erken uyarı daha etkili olacaktır.

    Xianyu arama motoru çevrimiçi ve çevrimdışı süreçleri / önemli yukarı akış uygulama sistemlerinin temel bağlantıları, eksiksiz bir günlük veri toplama modülü oluşturuldu ve temel göstergeler doğru bir şekilde izlendi ve erken uyarı ayarları yapıldı, böylece herhangi bir sorun zamanında tespit edilebilir. Aşağıdaki şekil, arama hizmetinin ve alarm koşullarının izlenmesinin ilgili temel günlüklerini göstermektedir.

    Kullanıcı davranışını simüle eden çevrimiçi iş izleme

    Yukarıda belirtildiği gibi, Xianyu arama motorunun dizin hacmi nispeten büyüktür, birçok ekibin birlikte çalışmasını gerektirir, arama süreci nispeten karmaşıktır ve katılacak algoritma öğrencileri vardır ve Xianyu'nun yapılandırılmamış ürünleri için çok sayıda AI tanıma işlemi yapılmıştır. Shangxianyu, çok yüksek motor gerçek zamanlı performansı gerektiren tek stoklu bir üründür.

    Daha önce bazı felaket kurtarma koruma planları yapılmıştır, ancak verilerin zamanında doğruluğunu, bir güncelleme gecikmesi olup olmadığını ve gecikmenin ne kadar olduğunu bilmek için gerçek zamanlı performans algısının daha ileri düzeyde olması gerekir. Bir dizi sağlık bilgisi.

    Çözüm, işletme seviyesinden gerçek zamanlı izleme ve alarmlar gerçekleştirmek ve nispeten büyük miktarda Xianyu ürünü ve daha sık güncellemeler içeren K kategorisini çıkarmaktır.Xianyu'nun arka uç iş sisteminde, Jenkins üzerinden belirli bir zaman aralığı geçer (zaman adımı gerçek zamanlı olarak ayarlanabilir ), K kategorisini anahtar kelimeler ve kategoriler olarak kullanın, ürün güncelleme zaman indeksine göre azalan sırayla geri çağırın, kullanıcı yoklamasını simüle edecek şekilde arama sorgusu istekleri gönderin ve ilk sayfada gereksinimleri karşılayan ürünleri geri çağırın. Daha sonra motor geri çağırma verisinin ürün güncelleme zamanı ile mevcut sistem zamanı arasındaki farka göre eşikten daha büyük olan zaman (gerçek zamanlı olarak ayarlanabilir) ciddi bir veri güncelleme gecikmesi olduğunu gösterir ve ardından alarm bilgisi gönderilir.

    Stres testi

    Tam bağlantı stres testi

    Arama hizmetlerinde ve yukarı akış iş sistemlerinde tam bağlantılı stres testi dönüşümleri gerçekleştirin ve çok sayıda stres testi verisi oluşturmak için gerçek çevrimiçi kullanıcı isteklerini kullanın. Çevrimiçi işletmenin etkilenmemesini sağlama öncülüğünde, bağlantı doğrulanır Sistem kapasitesi ve kaynak tahsisinin trafik modeli altında makul olup olmadığı, bağlantıdaki performans darboğaz noktalarını bulun ve ağ ekipmanı ve küme kapasitesini doğrulayın.

    Motor tek bağlantılı basınç testi

    Ha3 arama motorunun çevrimiçi süreci, çevrimiçi en yoğun zaman sorgu trafiğini yeniden oynatarak motorun çevrimiçi hizmetinin performans basınç testini destekler.

    Ha3 arama motorunun çevrimdışı süreci, Swift artımlı mesajlarını bir süre boyunca tekrarlayarak motor DUMP artımlı performansının basınç testini destekler.

    Gri tonlamalı yayın

    Xianyu ürünlerinin yapılandırılmamış doğası, algoritma yetkilendirmesinden ayrılamaz. Araştırma ve geliştirme döngümüzde, iki algoritma ekibi ve birçok algoritma öğrencisiyle derinlemesine işbirliğini sürdürdük, bu da bize Xianyu Arama'nın ileri bir adım atılımını sağladı, ancak aynı zamanda ekip çalışması ve araştırma ve geliştirme verimliliği açısından bize son derece yüksek bir değer getirdi. Büyük meydan okuma.

    Algoritma ekibi, motor ekibi, artı işletme mühendisliği ekibi, çok büyük arama projesi geliştirme ekibi, her hafta bir çok yeni algoritma modeli, yeni motor dönüşümü, yeni iş modüllerinin çevrimiçi olması gerekiyor.

    Çok sayıda yeni mantık değişikliği doğrudan çevrimiçidir ve bu da birçok soruna neden olur:

    Birincisi kod seviyesidir. Ön sürüm ortamı tamamen test edilmiş olmasına rağmen, uç mantığının olmadığını garanti etmek zordur. Test ihmali yoktur; yayın öncesi testler tamamen kapsanmış olsa bile, çevrimiçi ortamın son ortamı ve ön sürüm farklıdır. Çevrimiçi yüksek trafik ortamı ve Bazı gizli kod sorunlarını açığa çıkarabilir;

    İkincisi, kodun herhangi bir kalite problemi yoksa, ancak tüm işlevler çevrimiçi olmaya mahkumsa ve tüm mantıklar birbirine karıştırılırsa, belirli bir modülün çevrimiçi hale geldikten sonra etkisinin nasıl değerlendirileceği büyük bir sorun haline gelir, özellikle algoritma modellerinin optimizasyonu ve iş Yeni modeli uygulama girişimleri, bir sonraki optimizasyon yönüne rehberlik etmek için ayrıntılı performans geri bildirim veri göstergeleri gerektirir.

    Bu nedenle, tüm arama işindeki çeşitli modülleri koordine etmek ve izole etmekle kalmayıp aynı zamanda her modülün bireysel etki değerlendirmesini gerçekleştirebilen, aynı zamanda her modülün hızlı bir şekilde gerçekleştirilebilmesi için herkesin işbirliğinin verimliliğini artıran bir dizi gri ölçekli deney garanti sistemine acil bir ihtiyaç vardır. Deneme ve yanılma, hızlı yineleme.

    Yukarıdaki çok önemli problemleri çözmek için, işletme mühendisliği ekibi, arama deneyi gri ölçekli çizelgeleme yönetimini gerçekleştirmek için kullanılan bir dizi deney yönetim sistemi geliştirmiştir.Sistem fonksiyonları, yukarıdaki şekilde gösterilmiştir ve aşağıdaki özelliklere sahiptir.

    • Deneyler esnek ve kullanışlıdır.Bir deney birden çok deney bileşeni içerebilir, bir deney bileşeni birden çok deney için kullanılabilir ve bir deney bileşeni birden çok deney grubu içerebilir;
    • Her sayfa modülünün deneyi, deneyin açılması / kapatılması ve deneyler arasındaki ilişkinin işlenmesi dahil olmak üzere sistemde gerçek zamanlı olarak kontrol edilebilir;
    • Deneysel gömülü nokta tam bağlantısını arama, istatistik çeşitli deneysel veri raporları;
    • İstatistiksel veriler Xianyu Portalı ve Tongtian Kulesi ile bağlantılıdır ve çeşitli göstergelerin farklı kovalarının deneysel eğrileri görüntülenebilir;
    • Deneme yineleme hızını artırın, algoritma / iş verimliliğini artırın, hızlı deneme yanılma ve arama işlemi dönüşümünün büyümesini hızlandırın.

    acil durum planı

    Değerlendirme, analiz veya deneyime dayalı olarak, arama hizmetindeki potansiyel veya olası acil durumların kilit noktaları için önceden bir acil durum müdahale planı formüle edilir. Belirli koşullar karşılandığında, çok boyutlu ve çok seviyeli otomatik düşürme ve mevcut sınırlama gerçekleştirilir veya manuel müdahale için manuel planlar yapılandırılır.

    Çevrimiçi bir sorun bulunduğunda, sorunun genişlemesini önlemek için kanamanın hızla durdurulması gerekir. Otomatik planlarla, sorunlar otomatik olarak bulunacak ve otomatik olarak kaynaşacaktır. Geri tepmeyi önlemek için sistemin çalışmasına çok dikkat etmeliyiz. Bir toparlanma varsa ve iş üzerinde daha büyük bir etkiye sahipse, düşürme planını uygulamak için hızlı bir şekilde manuel müdahale. Hemostaz tamamlandıktan sonra spesifik nedeni ayrıntılı olarak araştırın.Sorunun temel nedeni kısa sürede belirlenemediğinde, sorun ortaya çıktığında bir değişiklik veya salım olursa, değişiklik veya serbest bırakma en kısa sürede geri alınacaktır.

    Sistemin tüm seviyelerindeki bağımlı servisler için, sigorta düşürme sistem yüküne karşı korunmuştur.Alibaba tarafından bağımsız olarak geliştirilen ve şu anda açık kaynak olan Sentinel kaynak çağrı kontrol bileşenini kullanıyoruz. Ya da Hytrix'i düşürme akımı sınırlama aracını kullanabilirsiniz.

    Sorun giderme

    Xianyu arama bağlantısını Ali arama sorun giderme platformuna bağlayın ve arama gerçek zamanlı sorgu isteğinin her adımındaki parametre bilgileri / veri bilgileri girişi, çeşitli sorunların ve verilerin sorun gidermesini ve takibini kolaylaştırmak için bu araç platformunda ayrıntılı olarak görüntülenecektir. Bilgi karşılaştırması.

    Her bir sorgu koşulu altında, her bir grubun deneysel geri çağırma verilerini görsel olarak görüntüleyin; bu, her bir deneyin etkilerinin karşılaştırılması için uygundur ve geri çağrılan her ürünün çeşitli ayrıntılı bilgilerini, iş verileri ve algoritma etiket verileri ile her bir ürün dahil olmak üzere Her bir motor eklentisinin karşılık gelen puanları ayrıntılı olarak görüntülenebilir.

    Ürün dizini bilgilerini ürün kimliği, satıcı kimliği ve satıcı Nick'ine göre de ifşa edebilirsiniz. Motor indeksinde ilgili ürünün detaylı verilerini kontrol edebilirsiniz.Veri beklenenden farklıysa, özellikle çevrimdışı DUMP adımının işleme mantığının neden olduğu anormal durum, tek bir tıklama ile sorgulayabilirsiniz.

    Bu sorun giderme platformuna eriştikten sonra, motorun çalışma durumunu sezgisel olarak kavrayabilir ve geri çağrılan bağlantı durumunu arayabilirsiniz. Sorunun temel nedenini hızlı bir şekilde bulmak ve sorunu hemen çözmek çok önemlidir.

    Özet ve görünüm

    Bu makale esas olarak, Xianyu'nun arama motoru hizmetlerinin kararlılığını karmaşık senaryolarda, özellikle mimari dağıtım, izolasyon, kapasite değerlendirmesi, risk algılama ve yönetim ve kontrol yönlerinden nasıl garanti ettiğini ve 20'den fazla çevrimiçi arama iş senaryosunun nasıl istikrarlı bir şekilde destekleneceğini açıklamaktadır. Çevrimiçi sorunların hızlı bir şekilde keşfedilmesini ve kurtarılmasını sağladı ve 50'den fazla riskten kaçınma vakasını önceden verimli bir şekilde tahmin etti, arama hizmetinin kullanıcı deneyimini büyük ölçüde iyileştirdi ve Xianyu aramasının yıl boyunca sorunsuz olmasını sağladı.

    Yukarıda bahsedilen yönetişim planından sonra, Xianyu'nun arama sisteminin istikrarı büyük ölçüde garanti altına alındı.Aynı zamanda, yukarı akıştaki işleri daha sorunsuz hale getirmek için arama yeteneklerinin kullanılabilirliğini ve kullanım kolaylığını daha da iyileştirme çabalarımızı derinleştirmeye devam edeceğiz.

    Okuyuculara biraz düşünce ve ilham vermeyi umuyorum.

    Referans malzemeleri:

    Ha3: https://yq.aliyun.com/articles/585400

    ODPS: https://www.aliyun.com/product/odps/

    Sentinel: https://github.com/alibaba/Sentinel

    ek açıklama:

    BuildService: Ha3 için tam, artımlı, gerçek zamanlı dizin oluşturma hizmetleri sağlayan bir sistem.

    DUMP: İndeks verisi oluşturma sürecine çevrimdışı DUMP diyoruz. Arama motorunun tam / artımlı dizini, BuildService sistemi aracılığıyla oluşturulur ve ardından çevrimiçi bölümde Arayıcıya dağıtılır.

    Swift: Swift, bilgi işlem ve depolamayı birbirinden ayıran verimli ve güvenilir bir mesajlaşma sistemidir.

    Searcher: Searcher, arama motoru sorgularının yürütücüsüdür Tersine çevrilmiş indeks geri çağırma, istatistikler, koşullu filtreleme, belge puanlama ve sıralama ve özet oluşturma süreçlerinin tümü Searcher'da yapılır. İşletmenin ihtiyaçlarına göre, bazen Özet, bağımsız bir özet kümesi oluşturmak için ayrılır.

    SP: Arama Planlayıcı, birleşik bir arama hizmeti arayüzüdür. Sorumluluğu, Sorgu Planının sonuçlarını kullanıcı tarafından belirtilen sorgu koşullarına (anahtar kelimeler, kategoriler, vb.) Göre elde etmek, sorgu planını formüle etmek, ana arama sistemlerini sorgulamak ve nihai sonuçları doğrudan elde etmek ve yukarı yönlü işletmeye döndürmektir.

    QP: Sorgu Planlayıcı, kullanıcı sorgusunun arama amacını tahmin etmek için kullanılan bir sorgu hizmetidir. Sorumluluğu, hangi veri setinin (motor) verilere erişileceğini, ne tür verilere erişileceğini belirlemek ve kullanıcı sorgusunun arama niyetini tahmin ederek ve ilgili bilgileri toplayarak, alınan verilerin sıralanmasına yardımcı olmaktır.

    QueryService: QueryService, aramanın çevrimiçi sorgu bölümüdür ve sisteminde iki temel rol içerir: Qrs ve Searcher.

    Qrs: Sorgu sonucu arayıcı, kullanıcı sorgularını almak, kullanıcı sorgularını Searcher'a dağıtmak, Searcher tarafından entegrasyon için döndürülen sonuçları toplamak ve son olarak upstream işine dönmek için kullanılır.

    ODPS: Açık Veri İşleme Hizmeti, açık veri işleme hizmeti; ODPS, zengin veri işleme işlevleri ve esnek bir programlama çerçevesi sağlayan, Alibaba tarafından bağımsız olarak geliştirilen dağıtılmış büyük bir veri işleme platformudur. Temelde toplu yapılandırılmış verilerin depolanmasına ve hesaplanmasına hizmet eder ve büyük veri ambarları için çözümler ve büyük veriler için analiz ve modelleme hizmetleri sağlayabilir. Bu makaledeki ODPS, özellikle içinde depolanan çevrimdışı tablo verilerini ifade eder.

    Bu makale "Xianyu Technology" genel hesabından yeniden üretilmiştir: https://mp.weixin.qq.com/s/j-8czOqtZqBiRv5PGL5U8w

    Çin Süper Ligi'nin ilk AFC takımı yayınlandı! Luneng 86 dakikada smaç atıyor ve 9 yılı kazanamadan bitiriyor
    önceki
    Bir kez başarılı bir şekilde "yelek hattı" ile karşı saldırıya uğrayan, şimdi eklenmiş uzun bir etek giyen kızın kafası temiz ve sevimli
    Sonraki
    Süper dünya dalgası! Hao Junmin 25 metrelik dolunay pala ile gol attı ve rakibin kalecisi doğrudan dövüldü
    Ant Financial, ön uç performans izlemede en üst noktaya nasıl ulaşıyor?
    Song Qianın yüzü o kadar küçük ki, üzerinde kısa örgü etekli siyah bir tişört var, yüzünün yarısını bir gül kaplıyor
    2019 Çin Ligi Dokuzuncu Turu: Heilongjiang FC - Sichuan FC
    4-0 büyük kazanç + süper dünya dalgası! AFC Şampiyonlar Ligi çılgınca koşmaya devam ediyor
    Anların Patlamasının Arkasındaki Bilgisayarla Görme Teknolojisi ve Uygulaması
    Rainie Yangın kişiliği, siyah bir kumaş parçasını bir fiyonkla bağladı ve onu tüp kapak olarak kullandı.
    0-1 Evergrande'yi çaresizliğe sürükledi! AFC ölüm kalım savaşı geliyor: kalifiye olmak için Kore gücünü kazanın
    Alibaba Veri Tutarlılığı Uygulaması: Mesaj Alanında Dledger Teknolojisinin Keşfi ve Uygulaması
    Yinger'in kızı 1 yaşında, şeffaf bir gömlek ve kot etek giyebiliyor ve başı hala 18 yaşında.
    Messi oyundan çıktı ve ilk aranan üst sıraya koştu! İki tanrı düzeyinde geçiş boşa gitti ve maçtan sonraki skor masumiyetine geri döndü
    Özel yorum | Didi'nin makine öğrenimi platformu mimarisinin evrimi
    To Top