Tutorial: Menggunakan Dasbor Pemutus Sirkuit dengan Azure Spring Apps
Peringatan
Hystrix tidak lagi dalam pengembangan aktif dan saat ini dalam mode pemeliharaan.
Catatan
Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.
Artikel ini berlaku untuk: ✔️ Java ❌ C#
Artikel ini berlaku untuk: ✔️ Basic/Standard ✔️ Enterprise
Artikel ini menunjukkan cara menggunakan Netflix Turbine dan Netflix Hystrix di Azure Spring Apps. Spring Cloud Netflix Turbine banyak digunakan untuk menggabungkan beberapa streaming metrik Netflix Hystrix sehingga streaming dapat dipantau dalam satu tampilan menggunakan dasbor Hystrix.
Catatan
Netflix Hystrix banyak digunakan di banyak aplikasi Spring yang ada tetapi tidak lagi dalam pengembangan aktif. Jika Anda mengembangkan proyek baru, Anda harus menggunakan implementasi Spring Cloud Circuit Breaker seperti resilience4j sebagai gantinya. Berbeda dari Turbin yang ditunjukkan dalam tutorial ini, kerangka kerja Pemutus Sirkuit Spring Cloud menyatukan semua penerapan alur data metriknya ke Micrometer, yang juga didukung oleh Azure Spring Apps. Untuk informasi selengkapnya, lihat Mengumpulkan Metrik Pemutus Sirkuit Spring Cloud Resilience4J dengan Micrometer (Pratinjau).
Menyiapkan aplikasi contoh Anda
Sampel diberi fork dari repositori ini.
Kloning repositori sampel ke lingkungan pengembangan Anda:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Bangun tiga aplikasi yang ada dalam tutorial ini:
- user-service: Layanan REST sederhana yang memiliki titik akhir tunggal /personalized/{id}
- layanan rekomendasi: Layanan REST sederhana yang memiliki satu titik akhir /rekomendasi, yang dipanggil oleh layanan pengguna.
- hystrix-turbine: Layanan dasbor Hystrix untuk menampilkan aliran Hystrix dan layanan Turbin yang menggabungkan aliran metrik Hystrix dari layanan lain.
mvn clean package -D skipTests -f user-service/pom.xml
mvn clean package -D skipTests -f recommendation-service/pom.xml
mvn clean package -D skipTests -f hystrix-turbine/pom.xml
Memprovisikan instans Azure Spring Apps Anda
Ikuti langkah-langkah di bagian Provisikan instans Azure Spring Apps di Mulai Cepat: Sebarkan aplikasi pertama Anda ke Azure Spring Apps.
Menyebarkan aplikasi Anda ke Azure Spring Apps
Aplikasi ini tidak menggunakan Config Server, jadi tidak perlu menyiapkan Config Server untuk Azure Spring Apps. Buat dan sebarkan sebagai berikut:
az configure --defaults \
group=<resource-group-name> \
spring=<Azure-Spring-Apps-instance-name>
az spring app create --name user-service --assign-endpoint
az spring app create --name recommendation-service
az spring app create --name hystrix-turbine --assign-endpoint
az spring app deploy \
--name user-service \
--artifact-path user-service/target/user-service.jar
az spring app deploy \
--name recommendation-service \
--artifact-path recommendation-service/target/recommendation-service.jar
az spring app deploy \
--name hystrix-turbine \
--artifact-path hystrix-turbine/target/hystrix-turbine.jar
Memverifikasi aplikasi Anda
Setelah semua aplikasi berjalan dan dapat ditemukan, akses user-service
dengan jalur https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1
dari browser Anda. Jika user-service dapat mengakses recommendation-service
, Anda harus mendapatkan output berikut. Refresh halaman web beberapa kali jika tidak berfungsi.
[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]
Mengakses dasbor dan aliran metrik Hystrix Anda
Verifikasi menggunakan titik akhir publik atau titik akhir pengujian privat.
Menggunakan titik akhir publik
Akses hystrix-turbin dengan jalur https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix
dari browser Anda. Gambar berikut menunjukkan dasbor Hystrix yang berjalan di aplikasi ini.
Salin URL aliran https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default
Turbine ke dalam kotak teks, dan klik Pantau Aliran. Tindakan ini menampilkan dasbor. Jika tidak ada yang ditampilkan di penampil, tekan titik akhir user-service
untuk membuat aliran.
Catatan
Dalam produksi, dasbor dan aliran metrik Hystrix tidak boleh diekspos ke Internet.
Menggunakan titik akhir pengujian privat
Aliran metrik Hystrix juga dapat diakses dari test-endpoint
. Sebagai layanan backend, kami tidak menetapkan titik akhir publik untuk recommendation-service
, tetapi kami dapat menunjukkan metriknya dengan titik akhir pengujian di https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream
Sebagai aplikasi web, dasbor Hystrix harus berfungsi di test-endpoint
. Jika tidak berfungsi dengan baik, mungkin ada dua alasan: pertama, menggunakan test-endpoint
URL dasar yang diubah dari /
ke /<APP-NAME>/<DEPLOYMENT-NAME>
, atau, kedua, aplikasi web menggunakan jalur absolut untuk sumber daya statis. Untuk membuatnya berfungsi di test-endpoint
, Anda mungkin perlu mengedit <base>
di file ujung-depan secara manual.