Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk melaksanakan replikasi tuan-hamba pangkalan data MongoDB dalam PHP

Bagaimana untuk melaksanakan replikasi tuan-hamba pangkalan data MongoDB dalam PHP

May 16, 2023 pm 12:40 PM
php mongodb replikasi tuan-hamba

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:

  1. 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.

  1. 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.

  1. 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.

  1. 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:

  1. 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.

  1. 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.

  1. 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.

  1. 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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

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

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

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

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

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

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

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

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

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

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

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 Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

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

See all articles