Dengan perkembangan pesat aplikasi Internet, seni bina yang diedarkan telah menjadi trend arus perdana dalam pembangunan aplikasi moden. Kelebihan aplikasi yang diedarkan ialah mereka boleh menangani masalah seperti konkurensi yang tinggi dan volum data yang besar, dan meningkatkan kebolehpercayaan, skalabiliti dan fleksibiliti aplikasi. Sebagai salah satu rangka kerja mikro perkhidmatan yang paling popular pada masa ini, fleksibiliti Spring Cloud dan kemudahan penggunaan menjadikan lebih ramai pembangun memilih untuk membina aplikasi teragih berdasarkan Spring Cloud. Artikel ini akan berkongsi pengetahuan yang berkaitan tentang membina aplikasi yang diedarkan berdasarkan Spring Cloud berdasarkan pengalaman praktikal.
1. Pengenalan kepada Spring Cloud
Spring Cloud ialah rangka kerja pembangunan seni bina perkhidmatan mikro berdasarkan Spring Boot Ia menyediakan set lengkap alat pembangunan sistem yang diedarkan untuk aplikasi Spring Boot, termasuk pengurusan konfigurasi. Komponen seperti penemuan perkhidmatan, pemutus litar, penghalaan pintar, agen mikro dan bas kawalan membantu pembangun membina sistem teragih dengan cepat. Spring Cloud sangat popular dalam komuniti Spring, dan semakin banyak syarikat menggunakan Spring Cloud untuk membina aplikasi perkhidmatan mikro mereka sendiri.
2. Seni bina aplikasi teragih
Daripada aplikasi tunggal kepada aplikasi teragih, seni bina telah berubah dengan ketara. Dalam aplikasi yang diedarkan, sistem besar dibahagikan kepada beberapa perkhidmatan mikro Setiap perkhidmatan mikro mempunyai fungsi dan logik perniagaannya sendiri. Perkhidmatan mikro berkomunikasi melalui protokol RPC, HTTP dan lain-lain, bekerja secara bebas dan bekerjasama antara satu sama lain. Dalam keseluruhan sistem yang diedarkan, sokongan pusat pendaftaran perkhidmatan, pusat konfigurasi, pengimbangan beban, pintu masuk dan komponen lain sering diperlukan.
3. Komponen aplikasi Spring Cloud
1 Pendaftaran dan penemuan perkhidmatan
Spring Cloud Eureka ialah komponen pendaftaran dan penemuan dalam Spring Cloud perkhidmatan perlu didaftarkan dalam Pelayan Eureka dan menanyakan alamat perkhidmatan lain melalui Pelanggan Eureka, dengan itu merealisasikan penemuan automatik dan pengimbangan beban perkhidmatan. Dalam aplikasi sebenar, kami sering memperkenalkan kebergantungan Pelanggan Eureka dalam setiap perkhidmatan mikro untuk merealisasikan pendaftaran dan penemuan perkhidmatan.
2. Pusat Konfigurasi
Spring Cloud Config ialah komponen pengurusan pusat konfigurasi Spring Cloud Fungsinya adalah untuk mengurus fail konfigurasi secara berpusat dan meletakkan fail konfigurasi semua perkhidmatan mikro dalam satu Ia diuruskan secara tempatan dan konfigurasi diperoleh melalui protokol HTTP atau git. Ini mengelakkan ralat yang disebabkan oleh mengubah suai fail konfigurasi secara manual.
3. Pengimbangan Beban
Spring Cloud Ribbon ialah pengimbang beban sisi klien berdasarkan HTTP dan TCP Ia boleh mengendalikan komunikasi antara perkhidmatan dan mengedarkan permintaan mengikut peraturan yang ditetapkan untuk meningkatkan prestasi dan kebolehpercayaan sistem. Dalam aplikasi Spring Cloud, kami boleh menggunakan strategi pengimbangan beban lalai Ribbon atau menyesuaikan strategi pengimbangan beban mengikut keperluan.
4. Pemutus litar
Spring Cloud Hystrix ialah komponen pemutus litar yang digunakan untuk menguruskan sistem teragih Ia terutamanya menyedari keupayaan untuk melindungi sistem teragih dan mencegah kerosakan berjangkit daripada menyebabkan ranap sistem. . Apabila kadar kegagalan perkhidmatan yang diminta mencapai ambang tertentu, Hystrix akan memotong perkhidmatan secara automatik dan dengan cepat membolehkan logik sandaran untuk mengurangkan kesan pada perkhidmatan lain.
5.
Spring Cloud Gateway ialah komponen gerbang API dalam Spring Cloud Ia boleh menghalakan dan memproses semua permintaan perkhidmatan mikro secara seragam, meningkatkan kebolehselenggaraan dan keselamatan sistem, tetapi ia tidak bergantung pada mana-mana protokol atau pelaksanaan tertentu, jadi ia boleh digunakan dalam mana-mana senario yang memerlukan pemprosesan penghalaan API.
4. Aplikasi praktikal
1 Membina pusat pendaftaran perkhidmatan
Pusat pendaftaran perkhidmatan ialah komponen asas bagi keseluruhan seni bina perkhidmatan mikro, jadi kita perlu membina sebuah Eureka Server sebagai pusat pendaftaran Perkhidmatan. Dalam Spring Cloud, kita boleh membina Pelayan Eureka dengan menambah kebergantungan berikut.
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
Tambah kandungan berikut dalam fail konfigurasi untuk memulakan Pelayan Eureka.
server.port=8761 eureka.instance.hostname=localhost eureka.client.register-with-eureka=false eureka.client.fetch-registry=false
2. Cipta penyedia perkhidmatan
Pembekal perkhidmatan adalah tempat kami sebenarnya menulis logik perniagaan apabila melaksanakan pembekal perkhidmatan, kami boleh menambah kebergantungan berikut untuk melaksanakan fungsi pendaftaran perkhidmatan.
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
Dalam fail konfigurasi, kita perlu menentukan alamat Pelayan Eureka.
eureka.client.service-url.default-zone=http://localhost:8761/eureka/
Selepas menulis logik perniagaan, kita perlu mendaftarkannya ke dalam Pelayan Eureka apabila perkhidmatan bermula.
@SpringBootApplication @EnableDiscoveryClient public class ProviderApplication { public static void main(String[] args) { SpringApplication.run(ProviderApplication.class, args); } }
3. Buat pengguna perkhidmatan
Pengguna perkhidmatan ialah antara muka yang disediakan oleh pembekal perkhidmatan dipanggil Apabila melaksanakan pengguna perkhidmatan, kami boleh menambah kebergantungan berikut untuk melaksanakan perkhidmatan Temui ciri.
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>org.springframework.cloud spring-cloud-starter-netflix-ribbon
Dalam fail konfigurasi, kami juga perlu menyatakan alamat Pelayan Eureka.
eureka.client.service-url.default-zone=http://localhost:8761/eureka/
Selepas menulis logik perniagaan, kami perlu memanggil antara muka yang disediakan oleh pembekal perkhidmatan melalui RestTemplate dan kaedah lain.
@Service public class ConsumerService { @Autowired private RestTemplate restTemplate; @HystrixCommand(fallbackMethod = "fallback") public String helloService() { return restTemplate.getForObject("http://PROVIDER-SERVICE/hello", String.class); } public String fallback() { return "error"; } }
5. Ringkasan
Artikel ini memperkenalkan pengetahuan berkaitan membina aplikasi teragih berdasarkan Spring Cloud dan berkongsi proses permohonan sebenar berdasarkan amalan. Spring Cloud menyediakan set lengkap penyelesaian seni bina yang diedarkan, yang memberikan kemudahan yang hebat untuk kami membangunkan aplikasi yang diedarkan. Melalui pembelajaran dan latihan, kami boleh menguasai dan menggunakan Spring Cloud dengan lebih baik untuk membina aplikasi teragih kami sendiri.
Atas ialah kandungan terperinci Membina aplikasi teragih berdasarkan Spring Cloud. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!