Pendahuluan (analisis masalah)

Sebagai seorang arsitek atau pengembang platform e-commerce, pernahkah Anda merasa cemas saat mempersiapkan acara promosi besar seperti “618” atau “Double 11”? Ketika sejumlah besar pengguna mengakses sistem secara bersamaan dan mengklik “Beli Sekarang” secara berbondong-bondong, sistem Anda akan mengalami tekanan yang sangat besar:

  • Overstock:Konflik baca-tulis bersamaan dalam database mengakibatkan stok aktual terjual habis, namun pesanan tetap berhasil dibuat, menyebabkan kerugian finansial dan keluhan pelanggan.
  • Kemacetan database:Permintaan penjualan flash mengalir ke database pusat seperti tsunami, menyebabkan CPU dan jumlah koneksi mencapai batas, respons tertunda, dan bahkan memicu efek domino yang membuat seluruh sistem lumpuh.
  • Pengalaman pengguna yang buruk: ​Halaman memuat dengan lambat, tombol tidak responsif, dan pengguna hanya dapat melihat notifikasi “Sistem sibuk”, sehingga akhirnya mereka pergi dengan kecewa.

Dalam satu kalimat:Jika Anda sedang kesulitan dengan overselling inventaris, kemacetan database, dan stabilitas sistem dalam skenario high-concurrency flash sale, maka artikel ini akan memberi Anda solusi lengkap dan berkinerja tinggi berdasarkan TDSQL-C dari Tencent Cloud.

Diagram arsitektur solusi dan ikhtisar.

Gambar di bawah ini dengan jelas menunjukkan arsitektur solusi sek-kill berdasarkan Tencent Cloud TDSQL-C.

Bagaimana Tencent Cloud TDSQL-C (versi PostgreSQL) mengatakan solusi untuk masalah penghapusan stok secara cepat dalam kondisi throughput tinggi? - LikaCloud

Diagram arsitektur menunjukkan: Permintaan pengguna diakselerasi oleh Tencent Cloud CDN untuk memuat sumber daya statis, lalu didistribusikan oleh CLB (Cloud Load Balancer). Aplikasi bisnis di-deploy di CVM dan terhubung ke Tencent Cloud Redis sebagai cache data hotspot. Yang terpenting, operasi transaksi inti pengurangan stok dilakukan langsung oleh database TDSQL-C (versi PostgreSQL) yang sangat berkinerja tinggi dan kompatibel, memastikan konsistensi data mutlak dan kinerja tinggi.

Garis Besar Alur Kerja:

  1. Akses dan Distribusi Lalu Lintas:Pengguna meminta agar halaman statis dimuat terlebih dahulu oleh Tencent Cloud CDN, lalu didistribusikan secara merata ke cluster server bisnis di backend melalui Load Balancing (CLB).
  2. Pemisahan membaca dan menulis:Saat server bisnis membaca informasi produk dan data non-inti lainnya, mereka terlebih dahulu mengakses cache Redis Tencent Cloud, yang sangat mengurangi tekanan pada database. Untuk transaksi inti seperti pengurangan stok, aplikasi terhubung langsung ke instance utama TDSQL-C.
  3. Pengurangan inti: ​TDSQL-C memanfaatkan kemampuan pemrosesan transaksi dan kunci tingkat baris yang kuat dari PostgreSQL untuk melakukan proses “Mencari inventaris -> Menentukan apakah lebih besar dari 0 -> Mengurangi inventaris” pada level database dengan operasi atom, sehingga secara fundamental mencegah penjualan berlebih.
  4. Hasilnya kembali: ​Setelah pengurangan berhasil, perbarui cache dan kembalikan hasil yang berhasil kepada pengguna. Instance hanya-baca bertanggung jawab untuk menangani permintaan baca seperti permintaan pencarian pesanan, yang selanjutnya mengurangi tekanan pada database utama.

Proposisi nilai:Solusi ini menggunakan arsitektur “Redis untuk menyimpan data penting + TDSQL-C untuk menjamin transaksi inti”, yang tidak hanya memanfaatkan kinerja tinggi dari cache, tetapi juga memastikan konsistensi data yang kuat di database dengan throughput yang sangat tinggi, sehingga secara sempurna mengatasi masalah utama dalam transaksi penjualan kilat.

Detail produk dan komponen inti

Komponen inti\nMemainkan peran\nRekomendasi konfigurasi/pilihan utama.Mengapa memilihnya?
Tencent Cloud TDSQL-C (versi PostgreSQL)Layanan data inti, yang bertanggung jawab atas transaksi konsistensi tinggi untuk pengurangan stok.Ini adalah kunci untuk mengatasi masalah overselling.Disarankan untuk memilih versi Serverless, yang secara otomatis menyesuaikan kapasitas sesuai dengan penggunaan sumber daya komputasi aktual, sehingga dapat dengan mudah menangani lonjakan permintaan; penyimpanan dikenakan biaya berdasarkan jumlah data aktual, dengan biaya yang paling optimal.Kinerja terbaik: ​Arsitektur yang memisahkan komputasi dan penyimpanan, kinerja I/O-nya 2-3 kali lebih cepat dari SSD lokal, menjamin respons dalam hitungan milidetik.
1000TP4T kompatibel dengan PostgreSQL:Tidak perlu mengubah kode bisnis, migrasi yang mulus.
Ketersediaan tinggi secara ekstrem:Banyak salinan data yang redundan, dengan peralihan otomatis jika terjadi kegagalan, dan ketersediaan layanan hingga 99,99%.
Tencent Cloud Redis.Layanan caching, yang menyimpan data seperti halaman detail produk populer dan status penawaran waktu terbatas.Menangani sebagian besar permintaan baca dan melindungi database backend.Pilih spesifikasi memori untuk memastikan kecepatan baca dan tulis; atur waktu kedaluwarsa yang wajar; dan lakukan ini sebelum dimulainya penjualan flash.Pre-heating cacheThrouput sangat tinggi:Mendukung ratusan ribu QPS, secara signifikan mengurangi beban database.
Struktur data yang kaya: ​\n​ Mendukung List, Set, dll., yang memungkinkan untuk menerapkan logika kompleks seperti antrian penjualan flash.
Persistensi data: ​\n​ Hindari restart cache yang mengakibatkan hilangnya data.
Tencent Cloud Load Balancing (CLB)Inlet lalu lintas, yang mendistribusikan sejumlah besar permintaan pengguna secara merata ke beberapa server bisnis backend.Konfigurasikan untuk mendengarkan di lapisan 4 (TCP) atau lapisan 7 (HTTP/HTTPS), dan aktifkan pemeriksaan kesehatan untuk secara otomatis menghilangkan server backend yang tidak normal.Ultra-high concurrency:Satu kluster dapat mendukung koneksi hingga ratusan juta dan dengan mudah menangani lonjakan lalu lintas.
Ketersediaan tinggi:Deployment berbasis cluster, menghilangkan kegagalan pada satu titik.
Skalabilitas elastis: ​Ini dapat disesuaikan secara otomatis berdasarkan lalu lintas.
Server cloud (CVM) / Elastis Scaling (AS)Server aplikasi yang menjalankan logika bisnis aplikasi.Menggunakan grup skalabilitas elastis, jumlah server dapat ditingkatkan secara otomatis selama periode penjualan flash, berdasarkan indikator seperti penggunaan CPU atau jumlah koneksi bersamaan, dan kemudian dikurangi secara otomatis setelah penjualan flash, sehingga menghemat biaya.Konfigurasi yang fleksibel:Tersedia berbagai spesifikasi komputasi, yang dapat dipilih sesuai kebutuhan.
Integrasi tanpa batas dengan CLB:Di dalam kelompok skalabilitas, CVM secara otomatis mendaftar dan mencabut pendaftaran ke CLB.

Ringkasan kelebihan dari solusi tersebut.

  • ⛓️ Hindari overselling:Berdasarkan fitur transaksi yang kuat dari TDSQL-C, kami dapat melakukan pengurangan stok secara akurat, sehingga dapat mencegah kerugian finansial dan keluhan pelanggan akibat dari penjualan berlebihan.
  • ⚡ Performa terbaik: ​Kinerja I/O TDSQL-C yang luar biasa + cache Redis, memastikan sistem tetap stabil dan lancar selama periode penjualan flash, serta memberikan pengalaman pemesanan yang mulus bagi pengguna.
  • 📈 Ketersediaan tinggi yang fleksibel:Desain ketersediaan tinggi untuk seluruh rantai (CLB, grup skala CVM, dan replika ganda TDSQL-C), sistem tanpa titik kegagalan tunggal, dan mampu menskalakan secara otomatis sesuai dengan lalu lintas, dengan biaya yang terkendali.
  • 🛡️ Migrasi yang mulus:TDSQL-C 100% kompatibel dengan PostgreSQL, sehingga bisnis yang ada dapat diakses dengan hampir tanpa perubahan, secara signifikan mengurangi hambatan teknis dan risiko migrasi.

Scenario aplikasi dan klien yang cocok

  • Scenario utama:Scenario dengan throughput tinggi secara instan pada platform e-commerce, seperti penjualan kilat, pembelian cepat, penawaran spesial terbatas waktu, dan undian.
  • Karakteristik pelanggan yang berlaku: ​
    • Bisnis mengalami puncak lalu lintas secara berkala atau tiba-tiba, yang membutuhkan skalabilitas elastis dari sistem.
    • Konsistensi data sangat diperlukan, dan kesalahan bisnis seperti kelebihan stok tidak dapat diterima.
    • Saat ini kami menggunakan database PostgreSQL, dan kami berharap dapat menemukan solusi database cloud yang lebih kuat dan lebih mudah digunakan.

Tautan terkait.

Tencent Cloud TDSQL-C 1000TP4T kompatibel dengan MySQL dan PostgreSQL.
Cobalah TDSQL-C secara gratis. Dapatkan diskon 35% untuk biaya pembaruan setelah uji coba, serta throughput tinggi dengan QPS lebih dari satu juta.
Migrasi ke PostgreSQL di cloud. Migrasi dari TDSQL-C PostgreSQL Edition ke Cloud Database PostgreSQL.
\n​Redis Tencent Cloud​ Kompatibel dengan protokol Redis dan Memcached.
\nCVM versi Hengchi. Konfigurasi durasi 1 bulan hingga 5 tahun, memenuhi berbagai kebutuhan skenario, dengan harga diskon hingga 55%.