JD Mall ticaret platformunun yüksek kullanılabilirlik mimarisine giden yol

Yazar Wang Xiaozhong

Düzenle Mu Huan, Guo Lei

JD.com'un tüm e-ticaret sisteminde, işlem sistemi bunun yarısını kaplamaktadır.Alışveriş sepeti, takas, envanter, fiyat ve diğer ilgili bağlantılar buna dahil edilmiştir.İşlem sisteminin yüksek kullanılabilirliğinin temelde JD Mall'un tamamının yüksek seviyesini belirlediği söylenebilir. Mevcut kapasite. Geçen yıl, JDnin ticaret sistemi hangi yinelemeleri ve optimizasyonları yaptı? Bu yılki yenilikler neler? Genel ticaret sistemi planlaması nedir?

Görüşülen misafirlerin tanıtımı

Wang Xiaozhong , Jingdong Mallın ticaret platformunun Kıdemli Direktörü, JDnin altın alım satım süreci ve akıllı pazarlama ekosisteminin lideri ve JD.com liderliğindeki ürün ve Ar-Ge ekibi, temel işlemler için sistem garantisi sağlıyor.

InfoQ: Ticaret platformunun mevcut mimarisine genel bir giriş yapabilir misiniz?

Wang Xiaozhong: Ticaret platformu, emtia, fiyatlar, kullanıcılar, envanter, siparişler vb. E-ticaret temel temel bilgilerinin merkezi yönetiminden ve ayrıca alışveriş sepetleri, takas sayfaları, kuponlar / hediye kartları ve sipariş merkezleri gibi altın işlem sürecinin kontrol ve platform hizmetlerinden sorumludur. Ticaret platformu, teknolojinin hayatları değiştirmesine ve akıllı bir pazarlama ticaret platformu oluşturmaya kendini adamıştır. Kullanıcılara altın işlem süreci sağlayın; müşterilere satış promosyon önerileri, akıllı envanter konumlandırma ve diğer akıllı pazarlama araçları dahil olmak üzere akıllı pazarlama çözümleri sağlayın; Ar-Ge ekipleri için istikrarlı ve güvenilir işlem hizmetleri sağlayın.

  • kanal Şu anda temel olarak birkaç parça, PC, APP, WeChat, mobil QQ vb. İçeren işlem trafiğinin kaynağıdır. Şu anda, APP girişi genel trafiğin% 70'inden fazlasını oluşturuyor.

  • Bileşen Mevcut temel hizmetlerin soyutlamasını ve entegrasyonunu tamamlayın, mevcut hizmet kaynaklarını dış dünyaya çeşitlendirilmiş bir şekilde sunun, çoklu protokollerin etkileşimini esnek bir şekilde organize edin ve destekleyin ve nihayet sistemin modülerleştirilmesini, hizmet platformunu ve işlevsel yapılandırmayı gerçekleştirin. Bileşenler, talebe hızlı yanıt vermek için dahili mantığa harici bağlantıyı en aza indirir.

  • Temel hizmetler Tüm altın işleminin altında yer alan bu işlem, ticaret platformunun kalbinin rolünü oynar. Bunlar arasında emtia hizmetleri, fiyat hizmetleri, envanter hizmetleri, kullanıcı hizmetleri, alışveriş sepetleri vb. Çekirdeğin çekirdeğidir.

  • Ara yazılım, altyapı Temel hizmetlerin temel taşıdır ve iş sistemleri için yüksek performanslı ve yüksek düzeyde kullanılabilir teknik destek sağlar.

  • InfoQ: Geçtiğimiz yıl ticaret platformu, temel platformun istikrarını sağlamak için ne yaptı? Okuyucuların başvurabileceği ve öğrenebileceği noktalar nelerdir?

    Wang Xiaozhong: Geçtiğimiz yıl, çevrimiçi basınç testi, performans optimizasyonu, kapasite artırımı, yük devretme, mevcut sınırlama ve düşürme gibi düzenli olarak yaptığımız çalışmalara ek olarak, sistem kararlılığını sürdürmek için bazı iyileştirilmiş çalışmalar yaptık. .

  • Çekirdek çağrı zinciri izleme . Altın işlem sürecinde her hizmet giriş noktası ve hizmetle ilgili bağımlılıklar, arayanlar vb. Ortaklaşa izlenir. Hizmet performansı düştüğünde ve kullanılabilirlik düştüğünde, arıza noktası hızlı bir şekilde bulunabilir. Tek tuşla anahtarlama, hizmet bozulması, akım sınırlaması vb. Gibi izleme ve arıza çözümlerini birbirine bağlamak, sorunları hızla keşfedebilir ve çözebilir.

  • Otomatik anahtarlama . Veritabanı, önbellek, hizmet ve diğer düğüm istemcileri gibi olgun anahtarlama süreçleri için, bir arıza tespit edildiğinde, stratejiye göre otomatik olarak sağlıklı bir düğüme geçebilir ve arızalı düğüm geri yüklendikten sonra otomatik olarak geri dönerek manuel işlem hatalarını azaltır ve Zaman alır ve sistemin kullanılabilirliğini iyileştirir.

  • Eşzamansız programlama modeli . Verimi artırmak için eksiksiz bir eşzamansız dönüşüm yoluyla hizmetin bir parçası, yine de bazı etkiler vardır. Bununla birlikte, saf asenkronizasyon mevcut sistem için hala oldukça büyük bir gelişme olduğu için, hala ilerlemeye çalışıyor.

  • Paylaşılan kaynak havuzu . Bazı kaynak paylaşım havuzlarını önceden hazırlayın, her hizmeti karıştırın ve normal zamanlarda daha düşük bir ağırlık ayarlayın. Belirli bir hizmetin normal kaynak grubu yetersiz olduğunda, paylaşılan havuzdaki ağırlığı artar, böylece kaynaklar geçici genişletme olmadan hızlı bir şekilde kullanılabilir.

  • Tam bağlantı stres testi . Girişten başlayarak, kullanıcının davranışı stres testi için simüle edilir ve trafik, göz atma, arama, sipariş gönderme ve son üretime kadar, bağlantıdaki tüm bağlantıları otomatik olarak kapsayan bağımlılıklardan geçirilir. Yalnızca tek servisli bir stres testi olan geçmişte eksik kapsam sorununu çözmek için yukarıda bahsedilen temel çağrı zinciri izleme ile işbirliği yapın.

  • İşin gelişmesiyle birlikte, fonksiyonların karmaşıklığı da artmakta ve arızanın nedenini bulmak daha zor hale gelmektedir.Birçok durumda, arıza çoğu zaman çevrimiçi olarak konumlandırılmaktadır.Arıza, bir plan olduğu sürece hızlı bir şekilde çözülebilir. . Çağrı zinciri izleme çok önemlidir.Sorunları küresel bir perspektiften hızlı bir şekilde tespit edebilir ve sorunlu noktalarımızı çözmek için sorun giderme planları ile birleştirebilir.

    Hizmetlerin sürekli genişlemesi ve makine sayısının artmasıyla, sorunlar ortaya çıktığında, arıza onarımının hızı yavaşlar.Otomatik yük devretme, insanları serbest bırakabilir ve daha önemli şeylerle başa çıkabilir, böylece herkes hatalarla başa çıkmak için gecenin ortasında her zaman ayağa kalkmak zorunda kalmaz. .

    InfoQ: Mevcut ticaret platformunun hizmetlerinin boyutları nelerdir?

    Wang Xiaozhong: Şu anda ticaret platformu, hizmetleri esas olarak iş yeteneklerine göre ayırır: alışveriş sepetleri, yerleşim sayfaları, promosyonlar, fiyatlar, envanter, emtialar, kullanıcılar vb. Bilgisayar, cep telefonu, WeChat ve diğer kanallar için oldukça güvenilir büyük ve orta ölçekli platform hizmetleri sağlar.

    Bu bölme modelinin avantajları şunlardır:

  • Yapı sabittir çünkü iş yetenekleri nispeten istikrarlı ve birbirinden bağımsızdır.

  • Geliştirme ekibi özerktir ve teknik özellikler yerine iş değeri sunma etrafında organize edilmiştir.

  • Hizmetler birlikte ve gevşek bir şekilde bağlı olarak çalışır.

  • InfoQ: İş, sistem ve altyapının üç seviyesinden izleme sistemi çözümlerinizden bahsedebilir misiniz?

    Wang Xiaozhong: JD.com gibi büyük ölçekli dağıtılmış bir sistem karşısında, sunucular her zaman kapalı olabilir ve ağ herhangi bir zamanda titreyebilir. Çok sayıda arabirim çağrısı, günde ortalama 100 milyonun üzerindedir. Aynı zamanda, trafik toplama etkisi olan promosyonlar her gün birkaç dalgaya sahip olacaktır. Güçlü bir izleme sistemi olmasaydı kör olurduk. Yıllarca süren sıkı çalışmalardan sonra, JD.com birden fazla izleme sistemi seti oluşturdu ve sistemin sağlığını her zaman izlemek ve sorunlar keşfedildiğinde erken uyarı vermek için nispeten eksiksiz bir izleme sistemi kurdu:

    1) İş düzeyinde izleme, esas olarak gerçek zamanlı sipariş hacmi gibi temel iş göstergeleri ile ilgilidir ve ana iş göstergelerindeki değişiklikleri zamanında tespit etmek için kanal, il, operatör, bilgisayar odası, kategori ve faaliyet gibi çeşitli boyutlara göre alt bölümlere ayrılmıştır. Sorunları hızlı bir şekilde bulup giderebilir ve acil durum müdahalesi yapabilir.

    2) Sistem düzeyinde izleme, temel olarak çağrı hacmi, başarı oranı ve yöntemlerin veya kod bloklarının yanıt süresine atıfta bulunur. Aynı zamanda, farklı dil platformlarının Java uygulamaları gibi belirli izleme göstergeleri vardır ve biz de JVM GC durumu hakkında çok endişeliyiz. Bu göstergeleri düzey, örnek, küme ve bilgisayar odası bazında özetleyip hesaplayacağız. Tepki süresiyle ilgili olarak, biz daha çok TP99 ve hatta TP999 hakkında endişeliyiz. Önceden ayarlanmış eşiğin altındaki herhangi bir gösterge bir alarmı tetikleyecektir. Tek bir arayüzün performans verilerini toplama temelinde, çağrı zincirindeki zayıf bağlantıların hızlı keşfini ve hızlı çözümünü sağlamak için RPC hizmetleri arasında, önbelleğe erişim, veritabanına erişim vb. Dahil olmak üzere, istek erişim zinciri aracılığıyla bir dizi alt çağrıyı bir araya getiriyoruz.

    3) Altyapı izleme, esas olarak geleneksel bant genişliği, paket kaybı oranı, yeniden iletim, bağlantı, CPU, bellek, disk vb. Gibi ağ kalitesinin ve makine sağlığının izlenmesi. Ağ açısından, dahili ağa ek olarak, genel ağın kalitesi konusunda da çok endişeliyiz.Bir operatör veya alan arızası bulunduğunda, kullanıcının 7 * 24 saat alışveriş deneyimini sağlamak için hemen bir planla yanıt vereceğiz.

    İzleme göstergeleri mükemmel olsa da, kendimizi izlemenin gecikmesini daha çok çözüyoruz. JDnin kendi trafiği büyük olduğundan, işletmenin performansını etkilemeden izleme gecikmesini iyileştirmek başlı başına bir zorluktur. Şu anda, iş ve sistem düzeylerinde ikinci düzey ayrıntı düzeyine ulaştık ve altyapıdaki önemli göstergeler de ikinci düzey verilere sahip. Erken uyarı açısından, geleneksel e-postalara ve metin mesajlarına ek olarak, JDnin dahili IM araçlarının yanı sıra cep telefonu sesli aramalarını da entegre ettik.

    Bu kadar çok gösterge ve bu kadar ince veriler karşısında, geleneksel izleme panosu da bizi tekrar kaybettirecek.Bu nedenle, yukarıda belirtilen çağrı zinciri ile birlikte çeşitli izleme alt sistemlerini geniş bir ekranda daha da entegre etmek için Skyeye sistemini geliştirdik. Çekirdek ana sürecin her bağlantısının mevcut sağlık durumu ve her çağrı seviyesi bir bakışta. Bir arıza olduğunda, kısa sürede hızlı bir şekilde yanıt verebilir ve kurtarabiliriz.

    InfoQ: JD.com kötü niyetli trafik saldırılarına karşı ne tür hazırlıklar yaptı? Nasıl önlenir?

    Wang Xiaozhong: Kötü amaçlı trafik saldırıları, her İnternet şirketinin karşılaşması gereken zor bir sorundur. Şu anda trafik saldırılarını iki kategoriye ayırıyoruz: ağ protokol katmanı ve uygulama mantığı katmanı.

    Ağ protokol katmanında, SYNFlood, UDPFlood, DNSFlood ve HTTPFlood gibi Layer 4 veya Layer 7 protokollerine yönelik çeşitli trafik saldırıları, esas olarak bant genişliği veya hizmet kaynağı tüketimine dayanır. Şu anda, JD Cloud Platform'un kendi geliştirdiği trafik analizi ve temizleme sistemi aracılığıyla ana akım kötü niyetli trafik saldırılarına karşı savunma yapabiliriz. Ek olarak, bilgi güvenliği departmanı, işbirliği ve bağlantı gibi gerçek savaş yeteneklerini sağlamak için yüzlerce G trafik saldırısı ve savunma tatbikatı gerçekleştirmek için dış kuvvetlerle birlikte çalışacaktır.

    Uygulama mantık katmanındaki kötü amaçlı trafiğin kapsamı ve etkisi nispeten geniştir. Dar anlamda, kötü niyetli trafik, hizmet reddi saldırıları yapmak için uygulama sistemlerindeki yazılım boşluklarını kullanır; geniş anlamda, trafiğin boyutuna bakılmaksızın çeşitli ticari çıkarları yasa dışı olarak gerçekleştirmek için uygulama uygulama mantığını veya kural boşluklarını kullanabilen kötü niyetli trafik saldırıları. Bu büyük saldırı türü, genel savunma için JD.com'un birden fazla departmanı tarafından koordine edilmektedir.

    1) Bilgi güvenliği departmanı, güvenlik açıklarını rapor etmek için kendi kendine güvenlik denetimi ve harici işbirliği gerçekleştirecek ve işletme Ar-Ge departmanları, SQL enjeksiyonu, kod yürütme, seviye geçersiz kılma ve bilgi sızıntısı gibi güvenlik açıklarının ortadan kaldırılmasını uygulayacaktır. 2) Risk kontrol departmanı, iş sistemleri tarafından kullanılmak üzere farklı risk seviyelerinde dinamik hesap havuzları oluşturmak için veri analizi yoluyla çeşitli risk kontrol modelleri oluşturacaktır. 3) İş araştırma ve geliştirme departmanı, iş özelliklerine, kullanıcı risk seviyelerine, sistem baskısına ve diğer faktörlere dayalı olarak mevcut sınırlama uygulaması için farklı stratejiler sunar.

    InfoQ: Örnek olarak ürünün gerçek zamanlı fiyatını alın, okuma mantığınız ve yazma mantığı sürecinizden bahsedin?

    Wang Xiaozhong: JDnin gerçek zamanlı fiyatı birkaç büyük zorlukla karşı karşıyadır: Birincisi büyük miktarda veri, milyarlarca emtia; ikincisi, günlük en yüksek değeri on milyarlarca olan büyük miktarda arama; üçüncüsü yüksek gerçek zamanlı gereksinimler ve sonuncusu, tek olmayan işin yüksek karmaşıklığıdır. Jingdong fiyatları yalnızca çeşitli promosyon kurallarını kapsamlı bir şekilde hesaplamakla kalmaz, aynı zamanda PC'ler, cep telefonları, üçüncü taraf işbirliği kanalları ve bölgelerde farklılaştırılmış işlemler gerçekleştirir. Burada, yatay ölçeklenebilirlik ve yüksek kararlılık sağlamak için büyük eşzamanlılığı ve yüksek performansı destekleyen açık kaynaklı bileşenleri tasarlamak için okuma-yazma ayrımını ve eşzamansız stratejiyi kullanıyoruz.

    1) Mantık sürecini yazma: Satın alırken ve satarken fiyatı ayarlayın veya arka uçta bir promosyon oluşturun, eşzamanlı olarak MySQL veritabanına yazın ve ardından promosyon ana Redis verilerini eşzamansız görevler aracılığıyla güncelleyin ve aynı zamanda fiyat yöneticisi Redis'in sona erme zaman damgasını güncelleyin ve Redis'in kendisi aracılığıyla çoğaltın Verileri ikincil düğümlere yayma mekanizması. 2) Mantık akışını okuma: Kullanıcı ön uçtaki ürün listesine, ayrıntılara ve diğer sayfalara göz attığında, eşzamansız olarak gerçek zamanlı fiyat hizmetine erişir. Şu anda, Nginx ile gömülü Lua programı doğrudan yerel Redis'teki (nereden) fiyat verilerini okur ve süresi dolmamışsa doğrudan Kullanıcıya geri dönün; süresi dolarsa veya yoksa, gerçek zamanlı fiyat hesaplama hizmetine erişmek için kaynağa dönün ve kullanıcıya en son fiyatı hemen iade edin. 3) Kaynağa dönüş yazma mantığı: Fiyat gerçek zamanlı hesaplama hizmeti, promosyon yöneticisi Redis'i okur ve kullanıcıya en son fiyatı döndürürken zaman uyumsuz olarak fiyat ana Redis kümesini yazar ve fiyat yöneticisi Redis, verileri Nginx öncesi düğümün ikincil Redis düğümüne senkronize eder.

    InfoQ: Bu yıl JDnin ticaret platformunda hangi teknik iyileştirmeler veya yenilikler yapıldı ve gelecekte hangi optimizasyon ve yükseltme talimatları dikkate alınacak?

    Wang Xiaozhong: Ticaret platformu, esas olarak sistemin istikrarını korumak için kullanılan yukarıda bahsedilen teknik dönüşümlere ek olarak, bu yıl aynı zamanda kullanıcı deneyimini iyileştirmek ve GMV iyileştirme ve yeniliğini geliştirmek için daha fazla enerji harcadı. Örneğin, binlerce kişiye mal olabilecek ve binlerce insanı teşvik edebilecek bir deneyim sağlamak için büyük veri teknolojisi ve makine öğrenimi modellerini kullanmak.

    Ayrıca, sistem kararlılığı üzerinde bazı çalışmalar yapmak için büyük veri ve makine öğrenimini kullanmaya çalışıyoruz, örneğin:

    1) Makine öğrenimi modeli, SQL enjeksiyonu ve kötü amaçlı kod çalıştırmada tanıtıldı ve özellikler, mevcut saldırı davranışı öğrenilerek eğitildi. Yarı denetimli öğrenmeyi tanıtın, böylece model öğrenme yoluyla yeni saldırı türlerini otomatik olarak keşfedebilir. Saldırı keşfinin verimliliğini ve yeni saldırıları tanımlama yeteneğini büyük ölçüde artırın. Çeşitli göstergeler, geleneksel kural tanımlamasını tamamen aşmıştır.

    2) Kötü niyetli saldırıların kaynağını izlemek, izlenebilirlik analizini daha doğru ve hızlı yapmak ve çok iyi sonuçlar almak için yönlendirilmiş grafik modelini kullanın.

    Bir sonraki adımda bu yönde bazı yenilikler yapmaya devam edeceğiz, örneğin:

    1) İnsan-makine davranış algılamasını optimize edin. Kötü amaçlı kaydırma davranışlarını belirlemek, kötü amaçlı kaydırma davranışlarının doğrulama düzeyini iyileştirmek ve arka plan arabirimindeki baskıyı büyük ölçüde azaltmak için kümeleme ve nlp modelini kullanın.

    2) Gerçek yorumları ve fırçalanmış yorumları belirlemek için yorum değeri değerlendirme modeli. Yorumların daha fazla değer üretmesine izin verin.

    3) Hatalı akıllı tahmini araştıracağız. Şu anda birçok izleme ve uyarı gerçeğin peşinde ve bunu önceden yapmayı umuyoruz. Mevcut gerçek zamanlı sağlık durumuyla birleştirilen geçmiş ve periyodik arıza verilerini analiz ederek, "ölmekte olan" makineleri ve örnekleri hızlı bir şekilde belirleyebilir ve gerçekten akıllı izleme ve erken uyarı elde edebiliriz.

    Teknik konferans önerisi

    Baidu AI Geliştirici Konferansı 5 Temmuz'da, Baidu Create 2017 Baidu AI Geliştirici Konferansı Pekin Ulusal Kongre Merkezi'nde düzenlenecek. Baidu'nun kurucusu, başkanı ve icra kurulu başkanı Li Yanhong ve Baidu Group'un başkanı ve işletme müdürü Lu Qi, geliştiriciler ve ekolojik ortaklar için önemli planlar yayınlayacak. DuerOS açık platformu, Apollo açık platformu ve Baidunun yapay zeka ekosisteminin diğer önemli stratejileri, teknolojileri, iş gelişmeleri ve çözümleri de ekolojik potansiyeli ortaya çıkarmak için ilk kez çeşitli sektörlerdeki geliştiricilere ve ortaklara sunulacak. Ayrıntılar için lütfen "Orijinal metni okuyun" u tıklayın!

    Bugünün Tavsiyesi

    Okumak için aşağıdaki resme tıklayın

    Tao Kardeş: Hayatta iki seçeneğim var ama hepsi aynı şey için

    Eason Chan karısını ve kızını tatile götürdü ve tesadüfen karşılandı. 14 yaşındaki kızı kırmızı bir süveter giydi ve yoldan geçenlere el salladı.
    önceki
    Hafıza öldürme! Yılın en iyi idol grubu, ama şimdi bir grup Qitian grubu haline geldi, netizenler bir şarkıyla ağlıyor
    Sonraki
    Eğimli yüzeyin zarafetini yaşayın, AOC C27V1QD kavisli ekranla başlayın
    DC "Thunder Shazan" yönetmeni: O kadar yorgunum ki artık çekim yapmak istemiyorum Süper İngiliz filmi çekmek maraton koşmak gibidir
    190323 Yi Yang Qianxi modası geçti, trende bak, yakışıklı spor giyim
    Yüksek denetim baskısı altında, "lisans" ticareti yeni bir blok zinciri işi haline geldi
    Hong Xin'in Bahar Şenliği'nden önce Zhang Danfeng'i affettiği ve ikisinin birlikte seyahat etmek için çift ayakkabı giydiği ve uyumlu göründüğü ortaya çıktı.
    Le Jier çok hamile ve zorlu yoga egzersizleri yapıyor, arka arkaya birkaç takım kıyafet değiştirmiş, enerji dolu
    Ben Guofen. Eczacılıkta yüksek lisans öğrencisi yine burada
    "O dünyanın en ilginç insanlarından biri, kimse boyuna ulaşamaz" iyi kitap tercih edildi
    Lin Xiaoniang'ın annesi ve kızının trajik bir sonu olduğunu "biliyor musun": Lin Xiaoniang şişman bir büyükanne oldu ve Mo Lan bir kız doğurdu ve sevilmedi
    "Reunion 4" fiyatları fırladı! Satış öncesi gişe, Çin film tarihindeki en hızlı ön satış rekorunu kırdı!
    ThinkPad X1 Carbon 2018 deneyimi: Mükemmel iş ultrabook'una en yakın olanı
    2018'de üçüncü Rotten Tomatoes 0 yeni filmi doğdu! Komedi "Holmes and Watson" büyük adı
    To Top