Apa praktik terbaik untuk mengelola kasus di mana dua pelanggan menambahkan pada saat yang sama produk yang stoknya hanya 1?
Haruskah ada tanda centang pada kode keranjang untuk menghindari salah satu dari 2 pelanggan ini untuk menambahkan produk yang sama?
Atau apakah pemeriksaan ini harus dilakukan dalam fase pembayaran untuk melakukan misalnya permintaan kedua untuk mengkonfirmasi produk yang bersangkutan masih ada dalam stok (berarti belum dibeli oleh pelanggan bersamaan)?
design
concurrency
locks
Mik378
sumber
sumber
Jawaban:
Tidak ada jawaban yang sempurna untuk pertanyaan ini dan semua tergantung pada perinciannya.
Sebagai 'garis pertahanan' pertama saya akan mencoba untuk menghindari situasi seperti itu sama sekali, dengan hanya tidak menjual artikel yang serendah mungkin. Jika ini mungkin tergantung pada situasi dan jenis artikel yang ingin Anda jual. Di perusahaan tempat saya bekerja, sebagian besar artikel dihapus dari situs web sebelum kehabisan stok. Tetapi kami menjual seluruh penjualan dan beberapa artikel sisanya dijual oleh tenaga penjualan kami sebagai penawaran khusus. Ini mungkin bukan pilihan untuk toko kecil, terutama ketika menjual artikel berharga tinggi.
Solusi untuk melakukan pemeriksaan ganda saat menambahkan sesuatu ke keranjang tidak terlalu baik. Orang-orang menaruh banyak di keranjang tanpa pernah benar-benar melakukan pemesanan. Jadi ini dapat memblokir artikel ini untuk jangka waktu tertentu.
Jadi menurut pendapat saya yang sederhana untuk pekerjaan kecil, cara terbaik adalah melakukan pemeriksaan akhir tepat sebelum pembayaran, ketika pesanan benar-benar dilakukan. Dalam kasus terburuk Anda harus memberi tahu pelanggan Anda bahwa Anda kehabisan stok sekarang (untuk apa toko kecil tidak akan sering terjadi).
sumber
Saya pikir praktik terbaik adalah memilih mana dari opsi di bawah ini yang lebih tepat untuk kasus bisnis tertentu :
... mencegah konflik dengan menghindarinya sama sekali. Ini memaksa transaksi bisnis untuk mendapatkan kunci pada sepotong data sebelum mulai menggunakannya, sehingga, sebagian besar waktu, setelah Anda memulai transaksi bisnis Anda bisa yakin Anda akan menyelesaikannya tanpa terpental oleh konkurensi kontrol...
sumber
Ini adalah masalah orang , serta masalah basis data, penguncian basis data adalah bagian yang mudah!
Mengingat bahwa pelanggan mungkin tidak pernah check out ...
Anda memiliki dua opsi dasar:
Anda memesan item untuk pelanggan untuk waktu perbaikan katakan (20 menit) setelah mereka menambahkannya ke keranjang - setelah waktu mereka mereka harus memeriksa kembali tingkat stok atau mulai lagi. Ini sering digunakan untuk tiket ke acara atau kursi maskapai.
Atau Anda mengatakan sesuatu seperti "xxx normal dikirim dalam 24 jam", tetapi cadangan stok ketika mereka checkout, dalam hal ini Anda harus mengizinkan mereka untuk membatalkan pesanan setelah checkout jika beberapa item dalam persediaan tetapi tidak yang lain. (Tingkat stok Hijau, Kuning, Merah juga dapat bekerja dengan baik, atau beberapa situs web mengatakan "stok rendah" saat mereka turun ke 1 atau 2)
sumber
Seperti biasa, itu tergantung pada apa kebutuhan Anda. Jika Anda adalah Amazon dan menjual 100.000.000 item per hari, biaya overhead untuk pemeriksaan dan penguncian preemptive mungkin mahal, dan masalah satu pelanggan per hari tidak mendapatkan barang mereka setelah semuanya dapat diabaikan. Jika Anda berurusan dengan ikon religius antik langka yang unik dan mahal, mungkin sebaliknya berlaku. Anda sendiri harus tahu di mana kasus bisnis Anda berada pada spektrum itu.
sumber
Dalam kasus kami, kami menggunakan antrian pesan untuk menangani pesanan dan mengonfigurasinya sehingga hanya memproses satu pekerjaan pada suatu waktu secara berurutan pada produk yang sama, dengan cara FIFO.
Peringatannya adalah Anda menambahkan overhead baru ke seluruh pemrosesan pemesanan yang sedikit menunda segalanya.
sumber
Praktik terbaik, bagi pengguna, jelas untuk memastikan add kedua gagal. Tapi ini akan memperlambat seluruh situs Anda demi kasus 0,1%.
Solusi yang paling efisien secara teknis, dan satu untuk memaksimalkan penjualan, adalah membiarkannya berhasil dan kemudian mencoba memenuhi kedua pesanan nanti - hanya karena Anda tidak memiliki stok sekarang, tidak berarti Anda tidak dapat menemukannya dalam keadaan darurat. Jika Anda tidak bisa maka seseorang harus menghubungi pengguna yang beruntung dan meminta maaf. Tapi itulah yang menyebabkan kegaduhan sebelum Natal tahun ini (ini bukan satu-satunya artikel yang muncul, jadi mohon maaf kepada Best Buy tetapi itu adalah yang pertama saya temukan).
Tugas Anda adalah menghadirkan semua opsi untuk bisnis, dengan pro dan kontra, dan biarkan mereka memutuskan berdasarkan saran Anda. Jika mereka mampu membeli reputasi kecil untuk memaksimalkan penjualan maka cukup adil; jika mereka tidak bisa dan lalu lintas sangat rendah sehingga Anda dapat memeriksa pembaruan ganda dengan cepat maka itu juga panggilan mereka.
sumber