


Bagaimana untuk melaksanakan replikasi tuan-hamba pangkalan data MongoDB dalam PHP
Dalam aplikasi web moden, pemprosesan dan pengurusan data adalah tugas yang penting. Apabila aplikasi web menjadi semakin kompleks dan perlu mengendalikan sejumlah besar data, semakin banyak pangkalan data diperlukan untuk menyimpan dan memproses data ini.
MongoDB ialah pangkalan data NoSQL yang digunakan secara meluas dalam aplikasi web. Tidak seperti pangkalan data hubungan seperti MySQL, MongoDB menggunakan dokumen dan bukannya jadual untuk menyimpan data, yang menjadikan MongoDB sesuai untuk memproses sejumlah besar data. Selain itu, MongoDB menyediakan ketersediaan dan kebolehskalaan yang tinggi untuk berbilang aplikasi, yang diperlukan untuk aplikasi replikasi induk-hamba antara berbilang kejadian.
Artikel ini akan memperkenalkan cara menulis aplikasi replikasi tuan-hamba MongoDB menggunakan PHP.
Gambaran keseluruhan replikasi induk-hamba MongoDB
Replikasi induk-hamba MongoDB adalah untuk mencipta salinan antara berbilang tika MongoDB untuk memastikan aplikasi masih boleh berjalan seperti biasa sekiranya berlaku masalah kegagalan atau prestasi. Contoh induk menerima semua permintaan tulis dan kemudian mereplikasinya kepada setiap tika hamba, yang hanya menerima permintaan baca.
Kelebihan replikasi tuan-hamba
- Ketersediaan tinggi: Aplikasi boleh bertukar secara automatik kepada tika hamba apabila tika tuan gagal.
- Lewahan data: Jika satu kejadian gagal, kejadian lain boleh terus menyediakan perkhidmatan.
- Skalabiliti: Lebih banyak contoh hamba boleh ditambah tanpa menjejaskan operasi biasa aplikasi.
Prinsip replikasi induk-hamba MongoDB
Dalam replikasi hamba induk MongoDB, tika induk dibuat dan semua permintaan tulis dihantar ke tika ini. Apabila operasi tulis berjaya, rekod operasi tulis mula-mula disimpan dalam log operasi contoh induk, dan kemudian operasi dihantar kepada setiap tika hamba supaya data boleh disalin ke kejadian lain. Selain itu, tika hamba juga boleh menyegerakkan data secara berkala daripada tika induk.
Dalam setiap contoh hamba MongoDB, data yang direplikasi boleh digunakan untuk permintaan baca dan replika boleh mengendalikan permintaan ini tanpa menanyakan secara langsung contoh induk. Selain itu, mekanisme pilihan raya boleh didayakan dalam contoh hamba untuk memilih contoh induk.
Konfigurasi replikasi master-slave MongoDB
Apabila menggunakan replikasi master-slave MongoDB, anda perlu melakukan beberapa kerja penyediaan, seperti mencipta instance master dan instance slave, dan menyediakan sambungan antara mereka. Berikut ialah konfigurasi asas replikasi hamba induk MongoDB:
- Mencipta tika induk
Untuk mencipta tika MongoDB, anda boleh menggunakan arahan mongod. Apabila mencipta contoh induk, anda boleh menggunakan arahan berikut:
mongod --replSet rs0
Arahan ini akan mencipta set replika bernama "rs0", yang mengandungi contoh induk dan Dua hamba contoh.
- Buat tika hamba
Untuk mencipta tika hamba, anda perlu memulakan tika mongod seperti biasa:
mongod --port 27027
Gunakan Perintah ini mencipta tika MongoDB bernama 28027 dan menandakannya sebagai tika hamba.
- Mengkonfigurasi contoh induk
Untuk mengkonfigurasi tika induk, anda boleh menggunakan alat baris arahan mongo dan masukkan arahan berikut dalam baris arahan:
rs.initiate ()
Ini akan memulakan set replika yang akan menjadi contoh utama.
- Mengkonfigurasi tika hamba
Apabila mengkonfigurasi tika hamba, anda perlu menentukan alamat IP dan port tika MongoDB untuk menyambung kepada tika induk. Berikut ialah contoh sintaks untuk mengkonfigurasi tika hamba:
rs.add("192.168.1.2:28027")
Ini akan menambah tika MongoDB bernama 28027 kepada induk sebagai sebahagian daripada set replika Dalam contoh.
Pelaksanaan replikasi master-slave MongoDB
Untuk melaksanakan replikasi master-slave MongoDB dalam PHP, anda perlu menggunakan pemacu PHP MongoDB dan sambungan PHP MongoDB. Berikut ialah langkah untuk melaksanakan replikasi hamba induk MongoDB:
- Sambung ke pangkalan data MongoDB
Untuk menyambung ke pangkalan data MongoDB dalam PHP, anda perlu menggunakan PHP MongoDB sambungan. Berikut ialah contoh kod untuk menyambung ke pangkalan data MongoDB:
$manager = new MongoDBDriverManager("mongodb://localhost:27017");
?>
Gunakan coretan kod ini untuk memulakan pemacu PHP MongoDB dan gunakan "mongodb://localhost:27017" sebagai hos dan port untuk aplikasi pelayan.
- Dapatkan status tuan-hamba
Untuk mendapatkan status replikasi tuan-hamba MongoDB, anda perlu menggunakan kaedah yang disediakan oleh sambungan PHP MongoDB. Berikut ialah contoh kod untuk mendapatkan status tuan-hamba:
$command = new MongoDBDriverCommand(['replSetGetStatus' => 1]);
$cursor = $manager-> ;executeCommand('admin', $command);
$status = $cursor->toArray()[0];
var_dump($status);
?>
Gunakan coretan kod ini untuk menyemak status hamba tuan semasa pangkalan data MongoDB. Jika semua tika hamba bagi set replika dikemas kini, maka semua tika hamba harus mempunyai keadaan replika yang sama dan keadaan tika induk hendaklah dikemas kini sebelum semua tika hamba.
- Tetapkan keutamaan baca
Untuk menetapkan keutamaan baca replikasi induk-hamba MongoDB dalam PHP, anda boleh menggunakan kaedah yang disediakan oleh sambungan PHP MongoDB. Contoh menetapkan keutamaan baca dalam kod adalah seperti berikut:
$readPreference = new MongoDBDriverReadPreference(MongoDBDriverReadPreference::RP_NEAREST);
$options = [
'readPreference' => ; $readPreference
];
$query = MongoDBDriverQuery([], $options);
$cursor = $manager->executeQuery('mydb.mycollection', $query);
?>
Gunakan coretan kod ini untuk menetapkan keutamaan baca dalam replikasi hamba induk MongoDB. Dalam contoh ini, pilihan keutamaan baca baca baru-baru ini ditetapkan menggunakan MongoDBDriverReadPreference::RP_NEAREST.
- Operasi replikasi induk-hamba
Untuk melengkapkan operasi replikasi induk-hamba MongoDB dalam PHP, anda perlu menggunakan kaedah yang disediakan oleh sambungan PHP MongoDB. Berikut ialah contoh kod untuk menggunakan operasi sisipan dalam replikasi hamba induk MongoDB:
$bulk = new MongoDBDriverBulkWrite;
$bulk->insert(['_id' => ; 1, 'name' => 'John Doe']);
$manager->executeBulkWrite('mydb.mycollection', $bulk);
?>
Gunakan coretan Kod ini yang boleh dimasukkan sekali dalam tika induk MongoDB dan disegerakkan menggunakan tika hamba.
Kesimpulan
Replikasi hamba induk MongoDB menyediakan satu siri ciri penting seperti kebolehskalaan, toleransi kesalahan dan daya tahan, dan merupakan bahagian penting dalam aplikasi web moden. Menggunakan sambungan PHP MongoDB dan pemacu PHP MongoDB dalam PHP, kami boleh melaksanakan replikasi hamba induk MongoDB dengan mudah, dan kaedah pelaksanaan ini sangat dipercayai dan mudah diurus. Secara keseluruhannya, adalah sangat penting untuk menulis aplikasi replikasi induk-hamba MongoDB dalam PHP untuk memastikan kelancaran aplikasi dan meningkatkan ketersediaannya.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan replikasi tuan-hamba pangkalan data MongoDB dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c
