Genel jar, dinamik konfigürasyon ve bileşen düzenlemesine dayalı üye görev merkezi sistemi tasarımı

1. Bu makalenin söylemek istediği şey hakkında konuşun:

Tüccarların üyelerinin hızla büyümesine, kullanıcı aktivitesini sürdürmesine ve kullanıcının büyüme sistemini iyileştirmesine daha iyi yardımcı olmak için Youzan Kullanıcı Merkezi-Üyelik Büyüme Ekibi, mevcut iş senaryolarına dayalı nispeten eksiksiz bir görev merkezi sistemi tasarladı. Ayrıca uygulanabilecek birçok ortak teknik bileşen vardır. Daha sonra, bu makale bu yaygın olarak kullanılan teknik bileşenleri kısaca paylaşacak ve öneriler sunacaktır.

Başlamadan önce birkaç soru soracağız:

  • 1. Sıradan tüccarlar için görev merkezinin kullanımı nedir?
  • 2. Görev merkezi nasıl gerçekleştirilir, hızlı erişim ve iyi ölçeklenebilirlik nasıl sağlanır?
  • 3. Görev merkeziyle hangi teknolojiler birleştirilebilir?

1.1 İçimizdeki bazı siyah kelimeler

2. Neden bir görev merkezi olmak istiyorsunuz?

2.1 Görev merkezinin başlangıç noktası:

  • a. Kullanıcı aktivasyonu: Kullanıcı deneyimini geliştirin, müşteri aktivitesini artırın, tüccarların kullanıcı bilgilerini toplamasını kolaylaştırın ve kendi bilgi ağlarını geliştirin.
  • b. Elde tutma oranını iyileştirin: Müşterileri her gün görevlere katılmaya yönlendirin ve üyelik sistemi + puan büyüme ödülleri ile kullanıcı bağlılığını artırın.
  • c. Kullanıcı geri alımını ve müşteri birim fiyatını artırın: satın alma görevlerini belirleyin ve puanlarla birlikte satın alma ayrıcalıklarını belirleyin.
  • d. Eskiyi yeniyle yaymak: yeni görevler çekme veya ekip oluşturma görevleri gibi etkinlikler yoluyla yenilerini getirmeye devam edin.

2.2 Görev merkezinin hedefleri:

  • Bitiş B: Tüccarlar tarafından görülebilen, yönetim ve kontrol görevlerini kolaylaştıran görev yapılandırma merkezi.
  • C tarafı: Kullanıcı, eşzamansız veya eşzamanlı olarak işlenen tamamlanmış görevi alır ve şunları sağlar: zamanlama görevleri, faz görevleri.
  • Erişim ve kullanıcı: hızlı görsel erişim, basit görev tamamlama bilgisi.
  • Sistemin kendisi: Yeni görev erişimi için ölçeklenebilirlik, ana sürecin minimuma değişmesini sağlamaya çalışın.

3. Bunu nasıl başardık?

3.1 Teknik çözümlerimiz

B tarafı konfigürasyon merkezini ve C tarafı görev işleme merkezini mevcut iş sisteminden ayırıyoruz, yaygın olarak kullanılan bazı sistem bileşenlerini topluyoruz, atomik arayüz, düzenleme ve yeteneklerin bütünlüğünü sağlamaya çalışıyoruz; genel araç kavanozu ile birleştirildiğinde, İş sistemi erişimi yeterince hızlıdır; aynı zamanda, platform tipi bir genel konfigürasyon kurulur ve apollo tabanlı dinamik yükleme konfigürasyon bilgileri yerel olarak önbelleğe almak için kullanılır, böylece yeni görevlere uygulamaları yayınlamadan hızlı bir şekilde erişilebilir.

3.2 Platformlar, tüccarlar ve kullanıcılar nasıl bağlanır?

Youzan bir saas şirketi olmasına rağmen, Youzan'ın iç platformları, tüccarları ve kullanıcıları ile ilgili kavramlar korunur, üçünün birbirini tamamladığı ve bağımsız olarak ortaya çıkmayacağı söylenebilir.

  • 1. Platform tarafına, ürünü öğrenciler için onaylamak ve yapılandırmak için arka plan sisteminden hızlı bir şekilde erişilebilir.
  • 2. Satıcı, sayfadaki görev bilgilerini ve görev ödüllerini hızlı bir şekilde yapılandırabilir.
  • 3. İş taraflarına tüccar boyutunda görevler, genel görev planlamasının tamamlanması ve genel ödül dağıtım yetenekleri için çeşitli hızlı erişim yöntemleri sağlayın.

3.2 Başka hangi yetenekleri sağlıyoruz?

3.3 Ortak görev durumu

Evrensel ve makul durum akışı, C-son kullanıcısının görev tamamlama durumunu hızlı bir şekilde bulabilir ve ayırt edebilir. Başarısız olan ve sonlandırılan iş, görev tamamlama ve tekrar oynatma için zamanlı görevlere güvenebilir, tamamlanmaya hızlı bir şekilde ilerleyebilir ve kullanıcılara anormalliklerin getirilmesini önlemek için ödüller verebilir. Ödül bilgilerinin senkronize edilmemesi sorunu, sistemde tutarlılığı sağlar.

4. Hangi temel teknoloji bileşenlerini kullandık

4.1 Idempotent kontrol bileşenleri

4.1.1 Neden idempotent bileşenleri kullanmalı?

Görev merkezinin inişinde, birçok senaryonun görevin tek idempotansını kontrol etmesi gerekir ve çoklu sürümler yeniden iletilmez vb. Önceden, idempotence sağlamak için esas olarak db idempotent tabloları kullanıyorduk ve iş benzersiz dizinlerini ekledik, ancak veritabanı işlem garantisine ihtiyacımız var, yani idempotent ardışık düzen ve iş birlikte sunulmalı ve başarısız olursa geri alınmalıdır. Çoklu veritabanı senaryosu kullanıldığında, iş sisteminin her kitaplığı bir akış tablosu eklemeli ve parçadaki iş kimliğini, kullanışsız olan parça kimliğiyle tutarlı olacak şekilde kontrol etmelidir.

İş talebi kayıtlarını depolamak için dağıtılmış depolamayı (redis gibi) kullanan bazı dahili sistemler de vardır. İsteği aldıktan sonra sunucu, işin benzersiz akışının depoya düşmesini sağlamak için atomik sorgu ve kaydetme işlemlerini (redis'in setnx komutu gibi) kullanır ve işletme tarafından belirlenen zaman aşımı süresinden önce iş akışının idempotansını kontrol eder. Tekrarlayan bir akış bulunduğunda, belirli bir stratejiye göre geri dönün.

Görev merkezi sistemi uygulandığında, iki mod aynı anda korunur ve erişim tarafının bağlı olduğu depolamanın ölçeklenebilirliği ve hızlı erişimi de dikkate alınmalıdır.

4.1.2 idempotent bileşenler için kurallar

  • Idempotent kullanımı, açıklama yöntemine hızlı erişimi destekler + idempotent girdi parametresi bilgisini birleştiren spEL ifadesi.
  • Apollo'ya dayalı dinamik yapılandırma aktarımı.
  • Idempotent depolama stratejisi:
  • 1. Önbellek yeniden depolama (tercih edilir) 2. mysql depolama, vb.
  • Idempotent ret stratejisi:
  • 1. Aynı sonucu birden çok kez döndürün 2. Bir idempotent kodu döndürün 3. Bir istisna atın vs.

4.1.3 idempotent bileşenlerin tasarımı

Temel alet kavanoz paketi, hızlı erişim amacına ulaşmak için tüm idempotent bileşen mantığını taşır. Apollo aracılığıyla, ilgili konfigürasyon, herhangi bir zamanda iş sisteminin hızlı geçişini ve çevrimiçi acil durumu sağlamak için dinamik olarak itilebilir.

4.2 Entegre genel önbelleğe alma yeteneği süreci düzenleme bileşeni

Birden fazla görev nedeniyle, birçok temel bileşen özelliği doğrudan yeniden kullanılabilir. Örneğin, ödüllendirmede: büyüme puanları yayınlama, puan verme, kupon verme vb. Birçok görev, tekrarlanan geliştirme olmadan yeni görevlere hızlı erişim amacına ulaşmak için aynı mantığa sahiptir.

Mevcut mantığı hızla düzenleyebilen ve tekrarlayan geliştirme çalışmalarını azaltabilen bir dizi db + xml yapılandırma süreci düzenleme motoru geliştirdik.

Düzenleme ayrıca temel yetenekler sağlar:

  • 1. Sıcak yüklemeye dayalı şablonlar için sürekli olarak dinamik bir yükleme mekanizması geliştirin. İşlemin dinamik yapılandırılabilirliğini daha da artırın.
  • 2. Aynı zamanda, genel şablonda, genel önbellek mantığı ve etkin nokta önbelleğe alma işlevi gerçekleştirilir ve görev merkezi, büyük bir promosyon veya bir tüccar bir pazarlama faaliyetine sahip olduğunda kararlı bir şekilde destekleyebilir.

4.3 Dinamik konfigürasyon değişim bileşenleri

Şu anda, birçok temel konfigürasyon, bağımlı konfigürasyon dosyaları veya apollo'nun dinamik konfigürasyonu yoluyla yapılmaktadır.

Ancak bu iki yöntemin belirli avantajları ve dezavantajları vardır: yapılandırma dosyası yöntemi, depolama kapasitesi sınırlı olmamakla birlikte, yapılandırma değişikliklerinden sonra uygulamanın yeniden başlatılması gerekir, bu da daha karmaşıktır. Apollo anahtar yöntemi dinamik olarak değiştirilebilse de, depolanan yapılandırma bilgileri çok küçüktür ve belirli bir uzunluk sınırına sahiptir. Görev merkezinin çoklu görev platformunun konfigürasyonu üzerinde belirli bir etkisi vardır.

Sonuç olarak, jvm + apollo tabanlı bir gecikmeli yükleme stratejisi kullanılır, bu da sık sık yayınlamaya gerek kalmamasını ve yapılandırma bilgilerinin dinamik olarak değiştirilebilmesini sağlar.

4.4 Bağımsız eşzamansız günlük işlem hattı kaydı

Geleneksel eşzamanlı günlük kayıtları, sistem kaynaklarını işgal eder ve görev merkezinin özellikleri nedeniyle, C tarafında görevlerin tamamlanmasıyla ilgili birçok bilgi olacaktır. Bu nedenle, görev merkezi indirildiğinde, eşzamansız akış olayı bir günlüğe dönüştürülür ve ayrı bir günlük sistemi, günlük toplama, karşıya yükleme, görselleştirme ve alma gibi genel yetenekler sağlar.

5. Gelecekte hala ilerleme kaydediyoruz:

Görselleştirme ve konfigürasyon ilkesi doğrultusunda, içsel gelişim ilkesini azaltırken dışarıdan erişimi kolaylaştırmak için. Ardından, sistemi geliştirmeye devam edeceğiz:

  • 1. Görev merkezi operasyonunun ve bakımının üretilmesi (yapım aşamasında): Görselleştirilmiş sayfa arka planı yönetimi kullanılarak ayrı ayrı geliştirilen ürün düzeyinde uygulamalar. İş erişimini ve günlük çalıştırma ve bakımı kolaylaştırın. Yapılandırma + çevrimiçi, sayfa üzerinden bağımsız olarak tamamlanabilir.
  • 2. Uzatma noktası + geri arama ve yapılandırmaya dayalı süreç ortak yapımı (yapım aşamasında): Uzatma noktalarının ortak inşa yöntemi aracılığıyla, süreç düzenleme yeteneği, görev merkezinin ortak yapımını tamamlamak için iç ve dış geliştiricilere sunulur.
Prometheus-spring-boot-starter yönetimi istisna bildirimi mesajı hatırlatıcısı
önceki
api izleme sistemi - apimonitor
Sonraki
Bir dahaki sefere öldürüldüğümde, serialVersionUID'yi gelişigüzel değiştirmeye cesaret edemeyeceğim
Düşük kodlu hızlı geliştirme platformu JEPaaS
Tam bağlantı izleme: çözüme genel bakış ve karşılaştırma | gerçekten kuru
hanbo-push dağıtılmış mesaj push, IM servisi
Ali Great God, mikro hizmet mimarisindeki API ağ geçidi uygulamasını paylaşıyor
mallcloud-platform, springboot bulutuna dayalı bir alışveriş merkezi projesidir
MyBatis bu 9 tasarım modelini içerir, kaç tanesini biliyorsunuz?
Hurricane Sheep Knife Ashe için standart hale geldi, Polar Ranger Genting'e hükmediyor
Çift sunucu beş güçlü en iyi tek envanter: Nuoshou Jianji güçlü bir şekilde hakim
Her şeye gücü yeten kan emici teknoloji silahı ana akım haline geldi ve ejderha kızın dul eşi bir kaplan gibi
9.18 National Service Tüm Kahramanlar TOP5 oranını kazanır, iki AP ormancısı hakimdir
Ulusal hizmetin 9.18 versiyonundaki beş popüler ormancı geri döndü
To Top