Layanan Mikro Menggunakan Spring Boot dan Spring Cloud
Diterbitkan: 2020-09-04Daftar isi
Pengantar Layanan Mikro
Layanan mikro adalah layanan kecil dan mandiri yang bekerja satu sama lain untuk mencapai tujuan bisnis yang kompleks. Layanan ini independen dan lengkap sehingga dapat dibangun oleh berbagai tim pengembangan, menggunakan bahasa pemrograman dan penyimpanan data yang berbeda. Layanan mikro dapat diskalakan secara individual dan dapat digunakan secara otomatis. Mereka mudah dirawat dan memberikan toleransi kesalahan yang lebih besar dibandingkan dengan layanan monolitik. Namun, mereka digabungkan secara longgar dan mampu berinteraksi satu sama lain untuk mencapai tujuan aplikasi yang lebih besar.
Berbagai alat tersedia di pasar sehingga Anda dapat membangun perangkat lunak menggunakan arsitektur layanan mikro. Spring Cloud dan Spring Boot adalah kerangka kerja layanan mikro Java yang populer.
Spring Boot adalah platform pengembangan aplikasi berpendirian yang dibangun menggunakan kerangka kerja Spring yang digunakan untuk mengembangkan aplikasi web Java. Pada saat yang sama, ini dapat disesuaikan, dan Anda dapat mengonfigurasinya berdasarkan kebutuhan Anda. Aspek dasar dari tutorial spring cloud akan dibahas di blog ini.
Layanan Mikro Menggunakan Spring Boot dan Spring Cloud
Tutorial Spring Cloud ini memberikan gambaran dasar tentang membangun aplikasi microservices sederhana menggunakan Spring Boot dan Spring Cloud. Selanjutnya, tutorial ini menyediakan tautan ke dokumentasi yang relevan yang akan membantu Anda mencapai tujuan pembelajaran Anda. Anda perlu melakukan hal berikut:
1. Buat Layanan Baru Menggunakan Spring Boot dengan Menggunakan Spring Initializer
Menurut tutorial cloud spring, langkah pertama adalah membuat struktur proyek menggunakan Spring Initializer. Penginisialisasi menyediakan cara cepat untuk menambahkan semua dependensi yang Anda perlukan untuk proyek Anda. Misalnya, Anda dapat memilih proyek Maven, Java, dan Spring Boot versi 2.0.0. Proyek Maven memerlukan ID grup dan ID Artefak, mirip dengan paket dan kelas di Java.
Anda juga harus memilih dependensi, misalnya, Web (untuk mulai mengembangkan aplikasi web), DevTools (memudahkan untuk mengembangkan aplikasi), Actuator (untuk memantau aplikasi), dan Config Client (untuk menghubungkan aplikasi ke Spring Config server). Setelah Anda memilih semua opsi, Anda akan menghasilkan proyek. Untuk mempelajari lebih lanjut, lihat Memulai dengan Penginisialisasi Musim Semi di sumber daya Membangun Layanan Web yang RESTful . Lihat Spring Data JPA untuk mempelajari cara menyambungkan ke database.

2. Pastikan Penamaan dan Penemuan Layanan
Semua layanan mikro harus didaftarkan untuk menemukan saat layanan lain dalam arsitektur sedang mencarinya. Misalnya, layanan tertentu mungkin ingin menemukan semua contoh layanan lain yang berjalan kembali di lingkungan tertentu. Dalam tutorial cloud musim semi l ini, Anda akan mempelajari bahwa server penamaan menyimpan informasi tentang semua layanan dan instance mereka dan memberikan informasi kepada mereka yang mencarinya. Dengan demikian, ini membantu dalam proses penemuan layanan. Untuk mempelajari lebih lanjut tentang pendaftaran dan penemuan layanan, lihat Pendaftaran dan Penemuan Layanan Mikro dengan Spring Cloud dan Eureka Netflix .

Baca: Proyek & Topik Boot Musim Semi
3. Aktifkan Layanan Mikro Lainnya
Dengan Spring Cloud, beberapa panggilan harus dilakukan ke komponen dan layanan lain. Ini dicapai dengan menggunakan Feign yang menghilangkan kerumitan proses dengan memungkinkan Anda menulis klien layanan web dengan lebih mudah. Untuk mempelajari lebih lanjut, lihat Spring Cloud Open Feign .
4. Pastikan Load Balancing
Sesuai tutorial cloud musim semi ini, Feign juga menyediakan integrasi dengan Ribbon, kerangka kerja penyeimbangan beban sisi klien. Ribbon membantu menggunakan konfigurasi Feign untuk mendistribusikan panggilan dan menyeimbangkannya di antara semua instance layanan yang ingin terhubung dengan layanan lain. Lihat Penyeimbangan Beban Sisi Klien dengan Ribbon dan Spring Cloud untuk mempelajari lebih lanjut.
5. Kelola Konfigurasi Layanan Mikro Secara Terpusat dengan Menggunakan Server Spring Cloud Config
Menurut tutorial cloud musim semi ini , aplikasi menggunakan beberapa layanan mikro, beberapa lingkungan untuk layanan mikro ini, dan juga, berbagai contoh layanan ini yang berjalan di lingkungan. Server Konfigurasi Musim Semi menyediakan lokasi terpusat untuk menyimpan informasi konfigurasi yang terkait dengan semua contoh layanan mikro tersebut.
Akibatnya, konfigurasi ini tersedia di satu tempat dan diperlukan untuk digunakan oleh layanan apa pun dalam arsitektur. Untuk mengelola konfigurasi secara terpusat, Anda akan menentukan properti yang terkait dengan layanan baru, lalu menghubungkan server Spring Config terkait dengan menggunakan Git sebagai repositori kode. Untuk mempelajari lebih lanjut, lihat dokumentasi Spring Config Overview . Untuk mempelajari cara menghubungkan Spring Config dengan Git, lihat Spring Cloud Config .
Baca Juga: Gaji Pengembang Musim Semi di India
6. Membangun Keamanan dengan Spring Cloud
Dalam arsitektur layanan mikro, di mana ratusan layanan mikro bekerja bersama, penting untuk memeriksa otentikasi dan otorisasi. Selain keamanan, ada pertimbangan seperti metrik, batasan, dan sebagainya. API Gateway memungkinkan untuk mengimplementasikan fitur yang umum untuk semua layanan.

Misalnya, Zuul Server adalah aplikasi API Gateway yang menangani permintaan dan melakukan perutean dinamis aplikasi layanan mikro. Lihat Spring Cloud Gateway untuk mempelajari lebih lanjut dalam tutorial cloud musim semi ini l .
7. Aktifkan Toleransi Kesalahan
Pertimbangan penting saat mengimplementasikan layanan mikro adalah jika satu komponen berhenti bekerja, seluruh aplikasi dapat terhenti. Kerangka kerja Hystrix membantu membangun layanan mikro yang toleran terhadap kesalahan yang dengannya Anda dapat meningkatkan fungsionalitas dengan anggun saat panggilan metode gagal. Hal ini memungkinkan layanan mikro untuk terus beroperasi ketika layanan terkait gagal, mencegah kegagalan dari cascading dan memberikan waktu layanan yang gagal untuk pulih.
Lihat: Siklus Hidup Spring Bean Dijelaskan
Kesimpulan
Mudah-mudahan, tutorial Spring Cloud ini akan berfungsi sebagai titik awal yang penting untuk membantu Anda memulai.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang Spring Cloud, lihat Diploma PG Tingkat & IIIT-B dalam Pengembangan Perangkat Lunak Tumpukan Penuh yang dirancang untuk para profesional yang bekerja dan menawarkan 500+ jam pelatihan ketat, 9+ proyek, dan tugas, IIIT -B Status alumni, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.