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

Akka dan ReactiveMongo

Saya akan membuat driver dan connection dalam aktor utama. Saya kemudian akan mengatur aktor pekerja untuk mengambil contoh MongoConnection sebagai argumen konstruktor sehingga setiap pekerja memiliki referensi ke koneksi (yang sebenarnya merupakan proxy ke kumpulan koneksi). Kemudian, dalam sesuatu seperti preStart , minta aktor utama membuat pekerja (yang saya asumsikan dirutekan) dan berikan koneksi sebagai arg. Contoh yang sangat sederhana dapat terlihat seperti ini:

class MongoMaster extends Actor{
  val driver = new MongoDriver
  val connection = driver.connection(List("localhost"))

  override def preStart = {
    context.actorOf(Props(classOf[MongoWorker], connection).withRouter(FromConfig()))
  } 

  def receive = {
    //do whatever you need here
    ...
  }
}

class MongoWorker(conn:MongoConnection) extends Actor{
  def receive = {
    ...
  }
}

Kode ini tidak tepat, tetapi setidaknya menunjukkan konsep tingkat tinggi yang saya jelaskan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Masalah Performa Koleksi yang Dibatasi

  2. Meningkatkan ke Edisi ClusterControl Enterprise

  3. Tidak dapat terhubung ke mongo di server jarak jauh

  4. Mengabaikan Properti di dalam Properti Komposit dengan BsonIgnore

  5. Mongodb -- menyertakan atau mengecualikan elemen tertentu dengan c# driver