Selamat siang , langsung saja , saya perlu programer yang sudah terbiasa dengan mysql
saya memiliki project modul untuk TRADING atau mempertemukan penjual terendah dan pembeli tertinggi dalam 1 table , misal
ID 10 memasang harga beli 10.000
kemudian datang id
ID 11 memasang harga jual 10.000 atau di bawahnya
ketika harga penjual dan pembeli bertemu maka ke 2 table itu akan di update secara bersamaan , untuk menandai bahwa ke dua transaksi itu sudah selesai di proses .
ketika nilai atau nominal buy dan sell tidak sama , maka hanya 1 ID dengan order yang bernominal kecil yang selesai , dan ID pasanganya di update atau di tandai bahwa sebagian order sudah di exsekusi , sehingga 1 order kadang di update beberapa kali oleh order lain sampai semua order terpenuhi , misal order dengan buy nominal 100.000 akan di eksekusi 4 x oleh order 25.000.
misal
- ID 1 buy harga 100 nominal 10
- ID 2 buy harga 90 nominal 5
- ID 3 sell harga 100 nominal 2
saat ketika muncul order no 3 , maka order no 1 dan order 3 bertemu akan di update secara bersamaan sehingga di tandai order 3 sudah DONE , order 1 nominal di update menjadi 8 karena yang 2 sudah done oleh order 3.
jika setelah itu muncul order
- ID 4 sell 100 nominal 200
maka order 4 akan bertemu dengan order 1 , sehingga order 1 done , dan order 4 menyisakan 192 karena yang 8 sudah done sama order 1
- Jika di tes dengan klecepatan transaksi yang tinggi , akan ada eror nominal yang selesai di beli dan yang di jual menjadi tidak sama , analisa saya kemungkinan ada order yang sedang di proses oleh user1 di update oleh user2 , atau ada transaksi lain sebelum menyelesaikan transaksi sebelumnya
- saya sudah membuat sedemikian rupa filter untuk mencegah kegagalan update dan duplikat update tapi masih gagal , erornya selalu ketika di tes dengan trafik transaksi tinggi.
mungkin itu dulu gan , kalo ada yang mau di diskusikan silahkan kontak saya , dan masalah biaya bisa di diskusikan lagi jika memang di perlukan.