Dengan perkembangan pesat Internet dan perubahan berterusan dalam keperluan pengguna, semakin banyak syarikat mula menggunakan seni bina perkhidmatan mikro untuk membina sistem yang berpusat pada keperluan pengguna, dan Spring Cloud, sebagai perkhidmatan mikro yang ringan dan cekap Rangka kerja perkhidmatan mempunyai telah disambut secara meluas. Walau bagaimanapun, apabila membina aplikasi perkhidmatan mikro, anda juga perlu mempertimbangkan ketahanan reka bentuk dan mekanisme failover. Artikel ini akan membincangkan aplikasi reka bentuk elastik dan failover dalam seni bina perkhidmatan mikro Spring Cloud.
1. Reka bentuk yang fleksibel
Dalam seni bina perkhidmatan mikro, ketersediaan dan kestabilan perkhidmatan adalah penting. Untuk memastikan kebolehpercayaan perkhidmatan, kami perlu mereka bentuk perkhidmatan secara elastik. Reka bentuk elastik terutamanya merangkumi aspek berikut:
Dalam Spring Cloud, reka bentuk perkhidmatan tahan kerosakan dilaksanakan terutamanya melalui pemutus litar. Pemutus litar memantau status perkhidmatan dan secara automatik beralih kepada perkhidmatan sandaran apabila perkhidmatan gagal atau tamat masa. Apabila menggunakan pemutus litar, anda perlu memberi perhatian kepada aspek berikut:
(1) Tetapkan tamat masa: Apabila memanggil perkhidmatan, anda perlu menetapkan tamat masa yang munasabah. Jika perkhidmatan tidak dapat mengembalikan hasil dalam masa yang ditetapkan, pemutus litar akan mencetuskan dan secara automatik bertukar kepada perkhidmatan sandaran.
(2) Tetapkan parameter cuba semula: Jika panggilan perkhidmatan gagal, anda boleh membiarkan perkhidmatan mencuba semula beberapa kali dengan menetapkan bilangan percubaan semula dan parameter masa cuba semula.
(3) Tetapkan parameter fius: Apabila kadar kegagalan perkhidmatan melebihi ambang tertentu, pemutus litar akan mengaktifkan fius dan berhenti memanggil perkhidmatan sehingga perkhidmatan bertambah baik atau melebihi tempoh masa tertentu memanggil.
Dalam perkhidmatan mikro, beberapa permintaan serentak mungkin menyebabkan perkhidmatan ranap untuk mengelakkan perkara ini berlaku, perkhidmatan perlu Reka bentuk a strategi had semasa. Dalam Spring Cloud, kami boleh mengehadkan trafik melalui algoritma baldi token atau algoritma baldi corong.
Dalam situasi serentak yang tinggi, untuk memastikan ketersediaan perkhidmatan teras, anda boleh memastikan operasi normal sistem dengan menurunkan taraf perkhidmatan. Pada masa yang sama, anda perlu memberi perhatian kepada aspek berikut semasa proses penurunan taraf perkhidmatan:
(1) Kekalkan fungsi yang diperlukan sebanyak mungkin untuk mengelakkan perkhidmatan tidak berfungsi dengan baik.
(2) Sediakan halaman turun taraf supaya pengguna dapat mengetahui tepat pada masanya bahawa perkhidmatan sedang diturunkan untuk mengelakkan panik dan salah faham yang tidak perlu.
2. Failover
Selain reka bentuk elastik, failover juga merupakan bahagian yang amat diperlukan dalam membina aplikasi perkhidmatan mikro. Dalam Spring Cloud, kami boleh melaksanakan failover dalam dua cara berikut:
Ribbon ialah komponen pengimbang beban dalam Spring Cloud yang boleh Mengesan ketersediaan perkhidmatan dan mengedarkan permintaan ke nod perkhidmatan yang berbeza mengikut peraturan tertentu. Apabila menggunakan Ribbon, anda perlu memberi perhatian kepada aspek berikut:
(1) Tetapkan tamat masa permintaan Apabila permintaan tamat, Ribbon akan memajukan permintaan secara automatik ke perkhidmatan lain yang tersedia.
(2) Tetapkan pemeriksaan kesihatan perkhidmatan Reben akan secara automatik mengesan ketersediaan perkhidmatan dan memajukan permintaan kepada perkhidmatan yang tersedia.
Hystrix ialah komponen pemutus litar dalam Spring Cloud Ia secara automatik boleh memantau semua perkhidmatan yang dipanggil melaluinya dan bertukar secara automatik apabila perkhidmatan gagal untuk membuat sandaran perkhidmatan. Apabila menggunakan Hystrix, anda perlu memberi perhatian kepada aspek berikut:
(1) Tetapkan ambang pemutus litar Apabila kadar kegagalan melebihi ambang tertentu, pemutus litar akan bertukar secara automatik kepada perkhidmatan sandaran .
(2) Tetapkan tamat masa perkhidmatan Jika perkhidmatan tidak dapat mengembalikan hasil dalam masa yang ditetapkan, pemutus litar akan bertukar secara automatik kepada perkhidmatan sandaran.
Kesimpulan
Reka bentuk elastik dan failover juga merupakan bahagian penting dalam membina aplikasi perkhidmatan mikro. Mereka boleh memastikan ketersediaan dan kestabilan perkhidmatan mikro, dengan itu memberikan pengguna pengalaman perkhidmatan yang lebih baik. Dalam Spring Cloud, kita boleh menggunakan komponen seperti pemutus litar, pengehad arus, degradasi, Ribbon dan Hystrix untuk mencapai reka bentuk anjal dan failover. Pada masa yang sama, apabila menggunakan komponen ini, anda perlu memberi perhatian kepada tetapan beberapa parameter utama untuk memastikan perkhidmatan dapat berfungsi dengan baik.
Atas ialah kandungan terperinci Aplikasi reka bentuk anjal dan failover dalam seni bina perkhidmatan mikro Spring Cloud. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!