Rumah > Java > javaTutorial > teks badan

Membina aplikasi teragih berdasarkan Spring Cloud

PHPz
Lepaskan: 2023-06-22 13:04:36
asal
1396 orang telah melayarinya

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>
Salin selepas log masuk

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
Salin selepas log masuk

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>
Salin selepas log masuk

Dalam fail konfigurasi, kita perlu menentukan alamat Pelayan Eureka.

eureka.client.service-url.default-zone=http://localhost:8761/eureka/
Salin selepas log masuk
Salin selepas log masuk

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);
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

Dalam fail konfigurasi, kami juga perlu menyatakan alamat Pelayan Eureka.

eureka.client.service-url.default-zone=http://localhost:8761/eureka/
Salin selepas log masuk
Salin selepas log masuk

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";
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!