Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 13217|Jawab: 1

Masalah idempotensi antarmuka

[Salin tautan]
Diposting pada 04/12/2018 13.29.37 | | |
Deskripsi Masalah】
Saat pengguna menggunakan APP, halaman sangat macet, dan mereka akan mengklik secara acak, karena antarmuka tidak melakukan pengiriman berulang, akan ada beberapa permintaan yang identik, di lapisan layanan, satu utas tidak menyisipkan lengkap, dan pemeriksaan utas lainnya, kosong. Jadi saya juga memasukkannya. Awalnya, setiap orang memiliki satu, tetapi seorang penjual memiliki tiga, menghasilkan kesalahan logika bisnis. Untuk pemrosesan pengiriman berbahaya, dapat dilakukan di bagian front-end, dan juga dapat ada solusi yang matang di bagian back-end.

【Solusi】1. Gunakan batasan keunikan untuk memecahkan masalah idempotensi transaksi, tetapkan batasan keunikan, dan jika ada skenario penerapan berulang, pengecualian terhadap batasan keunikan akan dilemparkan ke tingkat database, dan logika bisnis tidak akan dihancurkan. Kendala keunikan pada komposisi beberapa bidang juga dapat diterima.
Login hyperlink terlihat.

Di atas adalah untuk membuat pengaturan anti-duplikat di tingkat database.

2. Wujudkan pengaturan anti-duplikasi di tingkat kode. Sering kali, dikatakan bahwa kendala keunikan database akan mempengaruhi efisiensi penyisipan data, karena setiap penyisipan membutuhkan penilaian di tingkat database. Oleh karena itu, dilihat dari tingkat kode, praktik umum di tingkat kode adalah memilih terlebih dahulu dan kemudian menyisipkan, tetapi jika ada skenario konkurensi yang tinggi, masih akan ada penerapan berulang. Anda dapat menambahkan disinkronkan ke kode logika, sehingga dalam skenario konkurensi tinggi, pilih terlebih dahulu lalu sisipkan akan diterapkan. Tetapi efisiensinya tidak tinggi, dan paralelnya menjadi serial. Mekanisme kunci DCL dapat digunakan. (Pernahkah Anda menemukan bahwa metode pembuatan satu objek dalam mode kasus penyalinan sangat mirip, pertama-tama menilai apakah objek itu ada, jika tidak ada, buatlah, jika tidak jangan buat), mekanisme kunci DCL alami lebih efisien.

#分布式锁
Kunci terdistribusi juga dapat digunakan untuk memecahkan masalah, yang biasa digunakan oleh Redis dan Zookeeper. Bagian ini menjelaskan cara menerapkan kunci terdistribusi menggunakan Redis.
Ada operasi perintah setNx di Redis, jika tidak ada, itu adalah nilai yang ditetapkan, dan 1 dikembalikan. Jika ada, itu tidak ditetapkan, dan mengembalikan 0.
Memanfaatkan fitur single-threading Redis, adegan konkurensi tinggi diubah menjadi serial melalui antrean pesan.
Namun, ada jebakan dalam kunci terdistribusi, jadi Anda perlu memperhatikan.
Login hyperlink terlihat.
3. Mekanisme MVCC?

3.1 Apa itu mekanisme MVCC?
MVCC adalah mekanisme kontrol konkurensi multi-versi.

3.2 Masalah apa yang bisa diselesaikan?
Mekanisme penguncian dapat mengontrol operasi bersamaan, tetapi overhead sistemnya besar, dan MVCC dapat mengganti kunci tingkat baris dalam banyak kasus, yang dapat mengurangi overhead sistemnya dan meningkatkan kinerja.

Login hyperlink terlihat.

4. Ada juga masalah idempotensi dalam pesan

Misalnya, bagaimana cara mencegah konsumsi pesan berulang?

Dalam middleware pesan di MQ, ini harus dipahami dan dipahami.




Mantan:Tata Rambut Belajar tata rambut datang dan lihat
Depan:Video Cerita Pengasuhan Cerita Pengasuhan Audio Cerita Pengasuhan Buku Bergambar Koleksi Pengetahuan Pengasuhan
 Tuan tanah| Diposting pada 17/03/2021 10.27.09 |
KekuatanDalam pemrograman, operasi idempoten ditandai dengan fakta bahwa beberapa eksekusi sewenang-wenangnya memiliki efek yang sama dengan eksekusi tunggal.
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com