
Sinxronlaşma Zamanı Nə Baş Verir? Oflayn POS-u Uğurlu və ya Uğursuz Edən Görünməz Məqam
Biz Pultrack-i — ikili valyuta ilə işləyən, oflayn-prioritetli fəaliyyət göstərən kiçik pərakəndə satıcılar üçün POS və anbar tətbiqini — hazırlayırıq, ona görə də çoxlu vaxtımızı sadəcə sistemin oflayn işləyib-işləməməsi haqqında deyil, əlaqə yenidən bərpa olunan anda nə baş verdiyi haqqında düşünməyə sərf edirik. Bu ikinci sual layiq olduğundan qat-qat az diqqət alır.
Nə üçün hamı birdən oflayn-prioritetlikdən danışır?
POS sistemləri haqqında son arxitektura yazıları oxşar bir mövzuda birləşir: internet əlaqəsi asılılıq deyil, sinxronlaşma qatı kimi qəbul edilməlidir. Yerli yaddaşda saxlama, növbəyə alınan yazılar və şəbəkə qayıdanda avtomatik uzlaşdırma indi qabaqcıl bir xüsusiyyət deyil, standart model halına gəlir.[1] Elektrik və internetin fasilələrlə kəsildiyi bazarlardaki mağazalar üçün bu dəyişiklik vacibdir, çünki əlaqə kəsildikdə satışlar sadəcə dayana bilməz.[2] Daim üzə çıxan fərq "oflayn dözümlü" (yəni zəifləmiş ehtiyat rejimi) ilə "oflayn-prioritetli" arasındadır — sonuncuda yerli cihaz əsas həqiqət mənbəyi, bulud isə ikinci dərəcəli mənbədir.[3] Bu fərq sadəcə nəzəri deyil. Əlaqə kəsildikdə sadəcə dözən bir kassa aparatı endirimləri blok edə, kataloqun bir hissəsini gizləd və ya siqnal getdikdə qəbz çap etməkdən imtina edə bilər. Həqiqi oflayn-prioritetli dizayn qiymət qaydalarını, anbar sayımlarını və qəbz yaratma prosesini tam yerli saxlayır, ona görə mağaza sahibi yaxşı və pis əlaqə günü arasında heç bir fərq hiss etmir.[4]
Əlaqə qayıdanda əslində nə baş verir?
Satıcıların daha az danışdığı hissə elə budur, və oflayn-prioritetliyin gündəlik istifadədə həqiqətən dözümlü olub-olmadığını müəyyən edən hissə də elə budur. Telefon və ya terminal saatlarla və ya günlərlə oflayn qaldıqdan sonra yenidən qoşulanda, yerli tranzaksiyalar növbəsini bu müddət ərzində digər cihazlarda və ya buludda baş vermiş dəyişikliklərlə uzlaşdırmalıdır. Yaxşı dizayn edilmiş sistemlər idempotent API-lərdən istifadə edir ki, təsadüfən iki dəfə göndərilən satış iki dəfə qeydə alınmasın, həmçinin münaqişə həlli qaydalarını tətbiq edir — məsələn, iki işçi eyni məhsulun sonuncu vahidini iki müxtəlif kassadan hər hansı bir cihaz digərinin yeniləməsini görməzdən əvvəl satdıqda.[5] Kiçik mağaza üçün bu, fərziyyə deyil. Bir Wi-Fi-a qoşulu planşet və elektrik kəsintisi zamanı ehtiyat kassa kimi istifadə olunan telefonu olan bir köşkü təsəvvür edin. Əgər hər ikisi oflayn vaxtı eyni anbar məhsuluna satış edərsə, kimsə həddindən artıq satacaq — sual yalnız bunun sinxronlaşma zamanı açıq şəkildə işarələnib-işarələnməməsi, yoxsa bir satışın anbar düzəlişinin digəri tərəfindən səssizcə üstündən yazılıb-yazılmamasıdır. Bu sistemləri qurmaqdan alınan istehsal təcrübəsi bəzi əməliyyatlara (məsələn, çap edilmiş qəbzin tamamlanmasına) digərlərindən üstünlük verməyi və sinxronlaşma növbəsini elə dizayn etməyi vurğulayır ki, kritik yazılar itməsin və ya səhv ardıcıllıqla yerləşdirilməsin.[6]
"Oflayn-prioritetli" mağazanın onlayn olduğu kimi eyni cür işləməsi deməkdirmi?
Prinsipcə, bəli — bu, verilən vədin özüdür. Cari məhsul materiallarında təsvir edilən oflayn rejim biznesi işlədə biləcək qədər tam olmalıdır, sadələşdirilmiş fövqəladə rejim deyil: tam kataloq girişi, qiymət və endirim qaydaları, qəbz çapı və anbar yeniləmələrinin hamısı yerli olaraq işləməsi gözlənilir.[3] Praktikada isə bu oflayn rejimin tamlığı satıcıdan satıcıya və "anbar yeniləməsi" ifadəsinin arxa planda əslində nə demək olduğuna görə çox dəyişir. Bir sistemin həqiqətən mağaza-müstəqil olduğunu qəbul etməzdən əvvəl soruşulmalı bir neçə şey var:
- Oflayn rejim tam qiymət siyahınızı və endirim qaydalarınızı dəstəkləyir, yoxsa yalnız keşlənmiş bir hissəni?
- Şəbəkə tamamilə olmadıqda, tələb olunan bütün vergi sahələri daxil olmaqla, düzgün bir qəbz çap edə bilirmi?
- Eyni vaxtda ayrı-ayrılıqda oflayn olan iki cihaz arasında anbar sayımına nə baş verir?
- Sinxronlaşma prosesi bir münaqişəni həll etdikdə görünən bir qeyd və ya bildiriş varmı, yoxsa bu səssizcə baş verir?
- Mağaza sahibi hansı satışların "sinxronlaşmanı gözləyən" və hansıların təsdiqlənmiş olduğunu görə bilirmi ki, öz hesablarının müvəqqəti olduğunu bilsin?
Bu, xüsusilə inkişaf etməkdə olan bazarlarda niyə daha çox əhəmiyyət kəsb edir?
Tez-tez elektrik kəsintiləri olan bazarlarda sinxronlaşma anı sabit genişzolaqlı internetə malik bazarlara nisbətən qat-qat tez-tez baş verir. Hər gün öğlədən sonra iki saat əlaqə itirən bir mağaza ildə bir dəfə kənar hal ilə üzləşmir — hər gün uzlaşdırma yolu ilə üzləşir. Bu, münaqişə həllini düzgün etməyin əhəmiyyətini artırır, çünki kiçik səhvlər yığılır: hər sinxronlaşmadan sonra bir və ya iki vahid səhv olan anbar sayımı nəticədə dəftərə uyğun gəlməyən bir rəf halına gəlir — bu, məhz mağaza sahiblərinin proqram təminatına inamını itirib dəftərçəyə geri qayıtmasına səbəb olan növ uyğunsuzluqdur. Burada dəlil bazası haqqında da açıq danışmağa dəyər: oflayn-prioritetli POS arxitekturası haqqında hazırda dərc olunan materialların əksəriyyəti müstəqil tədqiqat və ya böyük ölçülü araşdırmalardan çox, satıcı bloqlarından, məhsul marketinq səhifələrindən və öz layihələrini təsvir edən fərdi mühəndislərdən gəlir.[1][4] Arxitektura fikri məntiqlidir və nümunə — yerli-prioritetli saxlama, arxa fon sinxronlaşması, idempotent yazılar — mənbələr üzrə ardıcıldır, amma dözümlülük və ya "dayanmaz" iş vaxtı haqqında iddialar təsdiqlənmiş nəticələr kimi deyil, satıcı mövqeləndirməsi kimi oxunmalıdır.
Mağaza sahibi sistem seçməzdən əvvəl əslində nəyi yoxlamalıdır?
Əsas nümunənin nə qədər standartlaşdığını nəzərə alsaq — əvvəlcə yerli verilənlər bazası, sonra arxa fon sinxronlaşması, çap kimi kritik tapşırıqlar üçün münaqişə həlli — məhsullar arasındaki fərqləndirici cəhət "oflayn işləyir, ya yox" deyil, "onlayn geri qayıtmağı nə qədər səlis idarə edir" sualıdır.[6] Pultrack-də biz bunu bəzəkli deyil, əsas hissə kimi qəbul edirik: ikili valyuta yekunları, anbar səviyyələri və qəbzlər cihazlar arasında və əlaqəsiz günlər boyunca aydın şəkildə uzlaşmalıdır, mağaza sahibi isə hansı satışların hələ də sinxronlaşmanı gözlədiyini, hansıların tam təsdiqlənmiş olduğunu sadə şəkildə görə bilməlidir. Bu, "oflayn işləyir" deyimindən daha dəqiq və daha yoxlanıla bilən bir iddiadır, və biz düşünürük ki, bir sistemin əksər öğlədən sonra elektriksiz qalan bir mağazada dözümlü olub-olmayacağını əslində proqnozlaşdıran da elə budur. Hər hansı bir oflayn-prioritetli POS-u — bizimki və ya başqasının — qiymətləndirirsinizsə, qəsdən əlaqəsi kəsilmiş test icrasından sonra sinxronlaşma qeydini görmək üçün soruşun. Sizə bir münaqişəli anbar yeniləməsini necə həll etdiyini dəqiq göstərə bilən bir satıcı real bir şey nümayiş etdirir. Sizə yalnız tətbiqin "internetsiz işlədiyini" deyə bilən bir satıcı isə hələ sizə ən vacib hissəni göstərməyib.