Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membina aplikasi perkhidmatan mikro yang boleh dipantau dan boleh dikesan: Amalan pembangunan PHP Hyperf

Membina aplikasi perkhidmatan mikro yang boleh dipantau dan boleh dikesan: Amalan pembangunan PHP Hyperf

WBOY
WBOYasal
2023-09-11 16:18:111195semak imbas

构建可监控与可追踪的微服务应用:PHP Hyperf开发实践

Dalam era perkembangan pesat Internet semasa, seni bina perkhidmatan mikro telah menjadi model pembangunan perisian yang semakin popular. Berbanding dengan seni bina monolitik tradisional, seni bina microservice sangat meningkatkan kebolehselenggaraan dan kebolehskalaan aplikasi dengan membahagikan aplikasi besar kepada berbilang perkhidmatan kecil Setiap perkhidmatan boleh digunakan dan dikembangkan secara bebas. Walau bagaimanapun, dengan peningkatan perkhidmatan mikro, ia turut membawa beberapa cabaran baharu, seperti cara memantau dan menjejaki status berjalan dan prestasi aplikasi perkhidmatan mikro.

Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja PHP Hyperf untuk membina aplikasi perkhidmatan mikro yang boleh dipantau dan boleh dikesan. PHP Hyperf ialah rangka kerja mikro perkhidmatan PHP yang berprestasi tinggi dan fleksibel berdasarkan sambungan Swoole Ia menyediakan pelbagai ciri dan alatan untuk memudahkan pemantauan dan penjejakan.

Pertama sekali, untuk memantau dan menjejak aplikasi perkhidmatan mikro, kita perlu mempunyai sistem pemantauan yang baik. Dalam PHP Hyperf, kita boleh menggunakan Prometheus dan Grafana untuk melaksanakan pemantauan. Prometheus ialah sistem pemantauan sumber terbuka yang secara aktif mengumpul penunjuk prestasi aplikasi dan menyimpannya dalam pangkalan data siri masa. Grafana ialah alat visualisasi data sumber terbuka yang boleh mendapatkan data daripada Prometheus dan memaparkannya dalam cara visual.

Dalam PHP Hyperf, kita boleh menggunakan komponen hyperf/metrik untuk menyepadukan Prometheus. Pertama, kita perlu memasang komponen hyperf/metrics dalam projek hyperf, yang boleh dipasang melalui arahan komposer. Selepas pemasangan selesai, kami boleh melakukan konfigurasi yang berkaitan dalam fail konfigurasi aplikasi, seperti menentukan laluan penyimpanan data Prometheus, menentukan penunjuk prestasi yang dikumpul, dsb.

Seterusnya, kita perlu menentukan beberapa penunjuk prestasi dan mengumpulkannya dalam kod untuk menghantar data ini kepada Prometheus. Dalam PHP Hyperf, kita boleh menggunakan kelas Metrik yang disediakan oleh komponen hyperf/metrics untuk mentakrif dan mengumpul penunjuk prestasi. Kelas Metrik menyediakan pelbagai kaedah, seperti pembilang, tolok, histogram, dsb. Kita boleh memilih kaedah yang sesuai untuk menentukan dan mengumpul penunjuk prestasi berdasarkan keperluan sebenar.

Selain sistem pemantauan, sistem pengesanan juga sangat penting. Dalam aplikasi perkhidmatan mikro, hubungan panggilan antara perkhidmatan mikro adalah rumit Jika masalah berlaku, sukar untuk mengesan punca masalah. Untuk menyelesaikan masalah ini, kita boleh menggunakan komponen pengesanan yang disediakan oleh PHP Hyperf untuk melaksanakan penjejakan. Komponen pengesanan menggunakan standard OpenTracing, yang boleh mengesan pautan panggilan secara automatik dan menjana laporan pengesanan yang sepadan.

Dalam PHP Hyperf, kita boleh menggunakan komponen hyperf/tracer untuk menyepadukan pengesanan. Pertama, kita perlu memasang komponen hyperf/tracer dalam projek hyperf Pemasangan boleh diselesaikan melalui arahan komposer. Selepas pemasangan selesai, kami boleh melakukan konfigurasi yang berkaitan dalam fail konfigurasi aplikasi, seperti menentukan nama perkhidmatan pengesanan, menentukan kadar pensampelan pengumpulan, dsb.

Seterusnya, kita perlu membenamkan titik dalam kod untuk menghantar maklumat penjejakan kepada komponen pengesanan. Dalam PHP Hyperf, kita boleh menggunakan kelas Span yang disediakan oleh komponen pengesanan untuk menguburkan titik tersebut. Kelas Span menyediakan satu siri kaedah, seperti startSpan (penjejakan mula), finishSpan (penjejakan tamat), log (log rekod), dsb. Kita boleh memilih kaedah yang sesuai untuk menguburkan mata mengikut keperluan sebenar.

Melalui langkah di atas, kami boleh membina aplikasi perkhidmatan mikro yang boleh dipantau dan boleh dikesan. Apabila aplikasi berjalan, kita boleh memantau penunjuk prestasi aplikasi melalui Prometheus dan memaparkannya dalam bentuk carta melalui Grafana. Apabila masalah aplikasi berlaku, kami boleh mengesan pautan panggilan melalui pengesanan dan mencari punca masalah. Penggunaan alatan dan teknologi ini telah meningkatkan kecekapan dan kebolehpercayaan pembangunan dan penyelenggaraan aplikasi mikro perkhidmatan kami dengan banyak.

Ringkasnya, membina aplikasi perkhidmatan mikro yang boleh dipantau dan boleh dikesan adalah tugas yang sangat penting. Dalam rangka kerja PHP Hyperf, kita boleh menggunakan Prometheus dan Grafana untuk memantau penunjuk prestasi aplikasi, dan menggunakan penjejakan untuk menjejak pautan panggilan aplikasi. Dengan menggunakan alat dan teknik ini, kami dapat memahami dengan lebih baik status berjalan dan prestasi aplikasi, serta dapat mencari dan menyelesaikan masalah dengan lebih cepat. Saya harap artikel ini dapat membantu pembangun menjadi lebih cekap dan boleh dipercayai apabila membina aplikasi perkhidmatan mikro.

Atas ialah kandungan terperinci Membina aplikasi perkhidmatan mikro yang boleh dipantau dan boleh dikesan: Amalan pembangunan PHP Hyperf. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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