Kurumsal Altyapı

Yüksek Hacimli Pazaryeri Yazılımı

Milyonlarca ürün ve anlık binlerce ziyaretçi kapasitesine sahip pazaryeri siteleri için gerekli teknolojiler ve altyapı gereksinimleri.

Load Balancer
RabbitMQ
Redis
Elasticsearch

Yüksek Hacimli Pazaryeri Ne Demek?

Trendyol, N11, Hepsiburada gibi milyonlarca ürünün yüklenebileceği ve anlık binlerce müşterinin siteyi ziyaret etmesi durumunda, yazılımın bu yükü kaldırabilecek bir yapıda hazırlanması gerekmektedir.

Neden Gelişmiş Teknolojilere İhtiyaç Duyulur?

Satıcılar
Sunucu
Ziyaretçiler

Pazaryeri iş modelinde, çok sayıdaki satıcının bir taraftan siteye ürün yükleme ve güncelleme işlemleri yaparken, diğer taraftan yüksek sayıda ziyaretçinin aynı anda sitede işlem yapabilmesi için hem yazılım altyapısında hem de sunucu yapılandırmasında önemli geliştirmeler yapmak gerekmektedir.

Aşağıdaki geliştirmeler, ürün ve ziyaretçi adedi arttıkça sürekli olarak ilave sunucu ve yazılım destekleri ile geliştirilmesi gereken süreçlerdir.
1

Load Balancer (Yük Dengeleyici)

Ziyaretçiler
Load Balancer
Sunucu 1
Sunucu 2
Yük Dengeleme

Pazaryeri e-ticaret sitesini ziyaret etmek isteyen müşterilerin en müsait sunucuya yönlendirilmesini sağlayan sistemdir.

Sunucuların iş yüklerini kontrol eder
Müsait sunucuya ziyaretçiyi yönlendirir
Minimum 1 dengeleyici + 2 sunucu gerektirir

Cluster Mimarisi

Arkada yer alan iki sunucu birbirinin aynı özelliklerine sahip olup, her iki sunucuya da aynı site kurulur. Bir sunucuya yüklenen ürünler veya alınan siparişler, eş zamanlı olarak diğer sunucuya da işlenir.

2

RabbitMQ (Kuyruklama Sistemi)

İşlem Kuyruğu
İşlendi
Kuyruklama

Yüksek hacimli sitelerde satıcıların yapmış olduğu sunucuları yoran yüksek adetli işlemler, sunuculara eş zamanlı fazla yük binmesi sonucu doğurmaktadır.

Bu yük sunucunun cevap verme değerlerini aştığında sitenin yavaşlamasına, daha sonra kilitlenmesine ve geçici olarak kapanmasına yol açmaktadır.

Kuyruklanması Gereken İşlemler:

1
Satıcıların ürün yükleme işlemleri
2
Excel ile ürün dışarı aktarma
3
Sipariş mail bildirimleri
4
Kargo API entegrasyonları
5
SMS bildirimleri
3

Redis Kullanımı

Kullanıcı İsteği
Redis (RAM)
Çok Hızlı
veya
MySQL (Disk)
Yavaş
Hızlı Yanıt
Bellek Önbelleği

Redis, sunucunun veritabanında (harddisk) tutulan bilgilerin aynı anda sunucunun RAM (belleğinde) tutulmasını sağlayan yazılım geliştirmesidir.

MySQL (Veritabanı)

Disk tabanlı, yavaş sorgu cevabı

VS
Redis (RAM)

Bellek tabanlı, ultra hızlı yanıt

Ürün fiyatı, stok adedi gibi verilerin değişmesi durumunda RAM'deki verinin silinerek en güncel verinin yazılması gerekmektedir.

4

Elasticsearch

Elasticsearch
Anında Sonuçlar
Arama Motoru

Sitede arama bölümüne yazılacak kelime ile arama yapıldığında cevabın SQL yerine Elasticsearch sisteminden alınmasını sağlayan teknolojidir.

Yüksek adetli ürünlerde hızlı arama
Filtre kullanımında performans
Ayrı sunucuda veri tutma
Anlık veri güncelleme desteği

Filtre Performansı

Redis ile birlikte kullanıldığında, sitedeki filtre kullanımının cevaplarının Elasticsearch'ten karşılanması ile hız probleminin önüne geçilmektedir.

Sonuç ve Öneriler

Yukarıda detayları verilen tüm özellikler, projenin büyüme sürecine paralel olarak ilave sunucu eklenmesi ile güçlendirilmesi gereken özelliklerdir.

Başlangıç Kurulumu Örneği

1 Load Balancer
2 Site Sunucusu
1 Elastic Sunucu
1 Redis Sunucu
Sunucular arasındaki bağlantıların doğru yapılandırılması ve verilerin sunucular arasında doğru aktarımının sağlanması son derece önemlidir.

Ücretsiz Danışmanlık

Pazaryeri yazılımı hakkında detaylı bilgi almak için uzman danışmanlarımızla görüşebilir ve projenizle ilgili ücretsiz danışmanlık hizmetimizden faydalanabilirsiniz.

Demo