Dengan pembangunan Internet dan pengemaskinian teknologi yang berterusan, aplikasi tunggal tradisional tidak lagi dapat memenuhi keperluan pengguna, dan konsep perkhidmatan mikro muncul mengikut keperluan masa. Spring Cloud ialah kit pembangunan perkhidmatan mikro yang dilancarkan oleh Pivotal Ia menyediakan pembangun cara yang sangat mudah untuk membina, menggunakan dan mengurus aplikasi seni bina perkhidmatan mikro.
Artikel ini akan memperkenalkan pembangunan perkhidmatan mikro Spring Cloud berorientasikan perkhidmatan secara terperinci, termasuk konsep dan seni bina Spring Cloud, proses pembangunan perkhidmatan mikro dan komponen perkhidmatan mikro yang biasa digunakan.
1. Konsep dan seni bina Spring Cloud
Spring Cloud ialah set alat Spring Boot yang dipertingkatkan di bawah seni bina perkhidmatan mikro Ia menyediakan set komponen yang kaya, termasuk penemuan perkhidmatan, pusat konfigurasi, beban pengimbangan, pemutus litar, dsb. Spring Cloud melaksanakan fungsi teras seni bina perkhidmatan mikro, seperti penemuan perkhidmatan dan pengimbangan beban, dengan memperkenalkan komponen Netflix OSS.
Senibina Spring Cloud terbahagi kepada dua peringkat, iaitu Spring Cloud Config dan Spring Cloud Netflix.
Spring Cloud Config ialah pusat konfigurasi teragih yang disediakan oleh Spring Cloud Terasnya adalah untuk mengurus fail konfigurasi aplikasi secara berpusat dan merealisasikan Kemas kini dan versi konfigurasi dinamik kawalan. Spring Cloud Config menyokong berbilang kaedah storan bahagian belakang, seperti sistem fail tempatan, Git, Subversion, dsb., dan anda juga boleh menyesuaikan kaedah storan.
Spring Cloud Netflix ialah komponen teras perkhidmatan mikro yang disediakan oleh Spring Cloud, termasuk pusat pendaftaran perkhidmatan, penyedia perkhidmatan, pengguna perkhidmatan dan pengimbang beban tunggu. Spring Cloud Netflix bergantung terutamanya pada komponen OSS Netflix, termasuk Eureka, Hystrix, Zuul, Ribbon, dll.
2. Proses pembangunan perkhidmatan mikro
Proses pembangunan perkhidmatan mikro biasanya merangkumi penciptaan projek, konfigurasi pergantungan, pendaftaran dan penemuan perkhidmatan, penulisan perkhidmatan, permohonan perkhidmatan dan langkah lain. Artikel ini menggunakan pembangunan perkhidmatan mikro Spring Cloud sebagai contoh untuk menunjukkan proses asas pembangunan perkhidmatan mikro:
Anda boleh menggunakan Spring Initializr untuk mencipta Projek Spring Cloud , pilih versi Spring Cloud dan komponen yang diperlukan. Spring Initializr secara automatik menjana rangka projek dan fail konfigurasi Maven atau Gradle.
Tambah kebergantungan mengikut keperluan projek, seperti Spring Cloud Config, Spring Cloud Netflix Eureka, Spring Cloud Netflix Ribbon, dsb. Konfigurasi yang sepadan juga diperlukan dalam fail konfigurasi, seperti eureka.client.service-url.defaultZone, spring.cloud.config.server.git.uri, dsb.
Pendaftaran dan penemuan perkhidmatan adalah teras seni bina perkhidmatan mikro, dan Spring Cloud menyediakan Eureka sebagai kaedah pelaksanaan. Pembekal perkhidmatan akan mendaftarkan maklumat mereka sendiri dengan pusat pendaftaran Eureka pada permulaan, dan pengguna perkhidmatan boleh mencari penyedia perkhidmatan yang tersedia melalui Eureka.
Proses penulisan perkhidmatan adalah sama seperti aplikasi tunggal tradisional Ia boleh dibahagikan kepada modul mengikut keperluan perniagaan, dan setiap modul boleh berjalan secara bebas dan digunakan secara bebas. Penyedia perkhidmatan perlu mendaftar dengan pusat pendaftaran pada permulaan, dan pengguna perkhidmatan perlu membuat panggilan perkhidmatan melalui Feign atau RestTemplate.
Panggilan perkhidmatan boleh dibuat menggunakan RestTemplate atau Feign Kod lapisan antara muka dan kod lapisan perniagaan dipisahkan Kod lapisan antara muka hanya memanggil pembekal perkhidmatan yang berbeza Kaedah perniagaan, pelaksanaan perniagaan adalah dalam setiap pembekal perkhidmatan.
3. Komponen perkhidmatan mikro yang biasa digunakan
Selain pusat pendaftaran perkhidmatan yang biasa digunakan, pengimbangan beban, pemutus litar dan komponen lain, Spring Cloud juga menyediakan beberapa komponen lanjutan, seperti berikut:
Spring Cloud Config ialah alat pengurusan konfigurasi berpusat yang menyokong banyak storan bahagian belakang, seperti Git, SVN, sistem fail tempatan dan pangkalan data. Spring Cloud Config boleh membantu kami mengurus maklumat konfigurasi secara dinamik, mengemas kini konfigurasi, mengurus versi, dsb.
Spring Cloud Sleuth ialah penjejakan dan penyelesaian pautan teragih yang boleh menjejaki aliran setiap permintaan dalam perkhidmatan mikro. Spring Cloud Sleuth menggunakan Zipkin sebagai alat pengesanan yang diedarkan. Dalam seni bina perkhidmatan mikro, perhubungan panggilan antara perkhidmatan yang berbeza adalah rumit dan Spring Cloud Sleuth boleh digunakan untuk melakukan penjejakan dan penyahpepijatan pautan dengan mudah.
Spring Cloud Stream ialah rangka kerja mikro perkhidmatan pemesejan peringkat perusahaan berdasarkan Spring Boot Ia menyediakan satu set antara muka standard dan set perisian tengah yang Dilaksanakan untuk membantu pembangun membina aplikasi berskala dipacu mesej dengan cepat. Spring Cloud Stream menyediakan banyak pengikat perisian tengah mesej, termasuk RabbitMQ, Kafka, dsb.
Spring Cloud Bus ialah bas acara dan mesej yang boleh menyokong penyebaran perubahan status melalui mesej, seperti perubahan konfigurasi, dsb. Bas Awan Musim Bunga boleh melaksanakan fungsi dengan mudah seperti kemas kini konfigurasi automatik dan siaran konfigurasi global.
Ringkasnya, apabila perkhidmatan mikro menerima lebih banyak perhatian dan penggunaan, pembangun perlu terus belajar dan menambah baik dari segi teknikal Spring Cloud memberikan kami banyak komponen supaya kami dapat melaksanakan pembangunan perkhidmatan mikro berorientasikan Perkhidmatan dengan lebih baik.
Atas ialah kandungan terperinci Pembangunan perkhidmatan mikro Spring Cloud berorientasikan perkhidmatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!