Selamlar,
Şimdi ana bir adet sunucumuz var.
Bu sunucumuza saniyede 20 adet sipariş gelecek.
Bu sunucu saniyede gelen 20 siparişi 10 farklı VDS makinelerine 5 saniye icinde bildirmeli ve neredeyse ve neredeyse asla yığılma olmamalı.
Şimdi ben şurada şöyle bir şey düşündüm;
10 Farklı makine her biri -> 1 worker
Yani 10 workerimiz var.
10 worker her 5 saniye aralıklarla ana sunucuya istek atsın ve eğer sipariş var ise siparişi işlesin diye düşündüm. Ama bu pek mantıklı gelmedi neden bilmiyorum ama yeteri kadar optimize gelmedi.
O zaman da şu mimariye geçtim:
Ana sunucuya sipariş gelir,araya bir tane websocket açarız sipariş geldiğinde ana sunucu websockete şuanda elimde sipariş var diye istek atsın ve bu şekilde sipariş olmadığında boşu boşuna DB istegi olmadan websocketde istekler kalır,siparişler geldiğinde ise websockete aktarılır sipariş işlenir sipariş islendikten sonra response en son ana sunucuya tekrar aktarılır diye düşündüm.
Bu şekilde hem daha az istek ana makineye ulaşır bu sayede fazla DB sorgusu olmaz ve wss ile anlık olarak wss izlenir siparişler daha hızlı işlenir gibime geldi.
Sizlere de sorayım,sizce bu mimari uygun mudur?
Eğer uygun değil ise neden ve nasıl geliştirebilirim?
Veya daha farklı bir mantık önerebilir misiniz?