MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mongoose membuat koneksi untuk dukungan multi-tenancy di node.js

Saya tidak akan merekomendasikan membuat dan mengelola koneksi terpisah itu secara manual. Saya tidak tahu detail persyaratan multi-penyewa Anda (jumlah penyewa, ukuran basis data, jumlah transaksi yang diharapkan, dll), tetapi saya pikir akan lebih baik menggunakan sesuatu seperti Fungsi useDb luwak . Kemudian Mongoose dapat menangani semua detail kumpulan koneksi.

perbarui

Arah pertama yang akan saya jelajahi adalah mengatur setiap penyewa pada proses simpul yang terpisah. Ada beberapa manfaat menarik untuk menjalankan penyewa Anda dalam proses node terpisah. Masuk akal dari sudut pandang keamanan (memori terisolasi) dan dari sudut pandang stabilitas (satu proses penyewa macet tidak mempengaruhi yang lain).

Dengan asumsi Anda mendasarkan penyewa dari URL, Anda akan menyiapkan server proxy di depan server penyewa yang sebenarnya. Tugasnya adalah melihat URL dan merutekan ke proses yang benar berdasarkan informasi itu. Ini adalah proksi http simpul yang sangat mudah mempersiapkan. Setiap instance tenant bisa menjadi basis kode yang sama persis, tetapi diluncurkan dengan konfigurasi yang berbeda (yang memberi tahu mereka string koneksi mongo apa yang akan digunakan).

Ini berarti Anda dapat merancang aplikasi Anda yang sebenarnya seolah-olah itu bukan multi-penyewa. Setiap proses hanya mengetahui tentang satu database mongo, dan tidak diperlukan logika multi-penyewa. Ini juga memungkinkan Anda untuk dengan mudah membagi lalu lintas nanti berdasarkan beban. Jika Anda perlu memisahkan penyewa untuk alasan kinerja, Anda dapat melakukannya secara transparan di tingkat proxy. DNS semua bisa tetap sama, dan Anda bisa memindahkan server tempat instance berada di belakang layar. Anda bahkan dapat membuat proxy menyeimbangkan permintaan penyewa di antara beberapa server.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $maks

  2. Tidak dapat membatalkan serialisasi PyMongo ObjectId dari JSON

  3. Otentikasi selama koneksi ke instance server MongoDB menggunakan Java

  4. Sesi Musim Semi dengan MongoDB

  5. Skala Mulus Untuk Server MongoDB Anda