Memandangkan aplikasi moden terus berkembang, pembangun semakin perlu memberi perhatian kepada penemuan perkhidmatan dan isu ketersediaan tinggi. Penemuan perkhidmatan merujuk kepada keupayaan untuk menemui perkhidmatan lain dalam sistem teragih untuk menyelaraskan kerja mereka. Ketersediaan tinggi merujuk kepada keupayaan sistem untuk masih beroperasi secara normal apabila menghadapi kegagalan.
Consul dan Fabio ialah dua alatan sumber terbuka yang digunakan secara meluas yang boleh membantu pembangun mencapai fungsi di atas. Kedua-dua alatan menggunakan seni bina perkhidmatan mikro moden untuk mengurus dan memantau keseluruhan sistem dengan mudah.
Consul ialah alat penemuan perkhidmatan sumber terbuka yang menyediakan penemuan perkhidmatan, pemeriksaan kesihatan, storan nilai kunci teragih dan fungsi lain. Konsul menyediakan penemuan perkhidmatan dengan menyediakan DNS atau API HTTP, membenarkan pembangun mengakses perkhidmatan melalui antara muka bersatu.
Fabio ialah proksi terbalik HTTP dan TCP yang ringan yang digunakan untuk menghalakan trafik dalam seni bina perkhidmatan mikro. Fabio secara automatik boleh menanyakan Konsul untuk maklumat status kesihatan perkhidmatan untuk memajukan trafik ke nod perkhidmatan yang sihat.
Di bawah, kami akan menyelami cara melaksanakan ketersediaan tinggi dan penemuan perkhidmatan menggunakan Consul dan Fabio.
Kami perlu memuat turun versi terkini Konsul dari tapak web rasminya dan nyahzipnya pada pelayan kami. Anda boleh memuat turun versi yang sesuai untuk sistem pengendalian anda daripada [https://www.consul.io/downloads.html](https://www.consul.io/downloads.html).
Selepas menyahzip, kami boleh mengalihkan fail boleh laku ke direktori /usr/bin
:
sudo mv ./consul /usr/bin
Untuk menjadikan Consul berjalan secara automatik apabila sistem bermula, kami perlu mencipta perkhidmatan systemd. Buat fail bernama /etc/systemd/system
di bawah direktori consul.service
dan salin kandungan berikut ke dalamnya:
[Unit] Description=Consul Service Discovery [Service] ExecStart=/usr/bin/consul agent -server -bootstrap-expect=3 -data-dir=/var/consul -config-dir=/etc/consul.d -bind="0.0.0.0" -client="0.0.0.0" Restart=always User=root [Install] WantedBy=multi-user.target
Dalam fail konfigurasi di atas, kami meminta Konsul untuk menjalankan sebagai pelayan semasa permulaan dan mengharapkan Terdapat sekurang-kurangnya tiga nod. Selain itu, kami juga menentukan direktori kerja dan direktori konfigurasi Konsul dan mengikatnya pada semua alamat IP tempatan.
Kini, kami boleh memulakan dan mengaktifkan perkhidmatan Konsul:
sudo systemctl start consul sudo systemctl enable consul
Pada ketika ini, kami telah menyelesaikan pemasangan dan konfigurasi Konsul.
Kami juga perlu memuat turun versi terkini Fabio daripada tapak web rasmi Fabio dan mengekstraknya ke pelayan. Anda boleh memuat turun versi untuk sistem pengendalian anda daripada [https://fabiolb.net](https://fabiolb.net).
Selepas menyahzip, kami boleh mengalihkan fail boleh laku ke direktori /usr/bin
:
sudo mv ./fabio /usr/bin
Kemudian, kami perlu mencipta perkhidmatan sistem untuk mengurus Fabio. Cipta fail bernama /etc/systemd/system
dalam direktori fabio.service
dan salin kandungan berikut ke dalamnya:
[Unit] Description=Fabio Service Proxy [Service] ExecStart=/usr/bin/fabio Restart=always User=root [Install] WantedBy=multi-user.target
Dalam fail konfigurasi di atas, kami memerlukan Fabio untuk dijalankan sebagai perkhidmatan dan menentukan pilihan Berkaitannya untuk mengurus nod perkhidmatan. Fabio secara automatik akan bertanya kepada Konsul untuk mencari perkhidmatan dan memajukan trafik ke nod perkhidmatan yang sihat.
Kini kita boleh memulakan dan mengaktifkan perkhidmatan Fabio:
sudo systemctl start fabio sudo systemctl enable fabio
Jika anda ingin menggunakan ciri pemeriksaan kesihatan, pastikan pemeriksaan kesihatan perkhidmatan dikonfigurasikan dengan betul dalam Konsul. Apabila perkhidmatan gagal, Konsul boleh melaporkan status kesihatan perkhidmatan kepada Fabio supaya trafik boleh dimajukan ke nod perkhidmatan yang sihat.
Menggunakan Consul dan Fabio boleh membantu pembangun dengan mudah melaksanakan penemuan perkhidmatan dan ketersediaan tinggi. Consul menyediakan kedai nilai kunci teragih yang berkuasa, DNS dan API HTTP untuk penemuan perkhidmatan, manakala Fabio menyediakan proksi terbalik yang ringan yang bertanggungjawab untuk menghalakan trafik dalam seni bina perkhidmatan mikro.
Jika anda sedang membangunkan sistem teragih yang kompleks, Consul dan Fabio ialah dua alat penting. Mereka memudahkan untuk membuat skala dan mengurus aplikasi anda serta mengurangkan beban penyelenggaraan anda.
Atas ialah kandungan terperinci Pembangunan PHP: menggunakan Konsul dan Fabio untuk mencapai ketersediaan tinggi dan penemuan perkhidmatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!