Bagikan melalui


Keandalan di Azure Stream Analytics

Azure Stream Analytics adalah layanan yang sangat tangguh yang memproses dan menganalisis data streaming dari beberapa sumber secara bersamaan. Azure Stream Analytics menyediakan informasi yang dapat Anda gunakan untuk membangun alur pemrosesan peristiwa yang kompleks dengan menggunakan kueri seperti SQL.

Saat Anda menggunakan Azure, keandalan adalah tanggung jawab bersama. Microsoft menyediakan berbagai kemampuan untuk mendukung ketahanan dan pemulihan. Anda bertanggung jawab untuk memahami cara kerja kemampuan tersebut dalam semua layanan yang Anda gunakan, dan memilih kemampuan yang Anda butuhkan untuk memenuhi tujuan bisnis dan tujuan waktu aktif Anda.

Artikel ini menjelaskan bagaimana Azure Stream Analytics tahan terhadap potensi masalah seperti kesalahan sementara dan pemadaman zona ketersediaan. Ini memberikan panduan tentang cara melindungi pekerjaan misi penting terhadap pemadaman wilayah dan pemeliharaan layanan. Ini juga menyoroti informasi utama tentang persetujuan tingkat layanan (SLA) Stream Analytics.

Penting

Meningkatkan ketahanan Azure Stream Analytics saja mungkin memiliki efek terbatas jika komponen lain tidak sama-sama tangguh. Pertimbangkan keandalan sumber data Anda, termasuk input dan output. Bergantung pada persyaratan ketahanan Anda, Anda mungkin perlu membuat perubahan konfigurasi di beberapa area.

Rekomendasi penyebaran produksi

Untuk memastikan keandalan tinggi di lingkungan produksi yang menggunakan Azure Stream Analytics, kami sarankan Anda mengambil tindakan berikut:

  • Gunakan wilayah yang mendukung zona ketersediaan. Sebarkan pekerjaan streaming Anda dan sumber daya lain di wilayah yang mendukung zona ketersediaan.
  • Sebarkan kapasitas yang memadai. Atur unit streaming (SU) anda berdasarkan throughput yang diharapkan dan kapasitas tambahan untuk menangani beban puncak. Tambahkan buffer di atas persyaratan garis besar Anda untuk menangani peningkatan mendadak.
  • Pantau kesehatan. Terapkan pemantauan komprehensif dengan menggunakan metrik Azure Monitor dan log diagnostik untuk melacak kesehatan pekerjaan, peristiwa input dan output, dan pemanfaatan sumber daya. Siapkan pemberitahuan untuk metrik penting seperti penundaan marka air dan kesalahan runtime untuk mendeteksi masalah sebelum memengaruhi pemrosesan data. Untuk informasi selengkapnya, lihat Monitor Stream Analytics.
  • Terapkan redundansi multi-wilayah untuk beban kerja misi penting. Menerapkan pekerjaan Stream Analytics yang identik di berbagai wilayah. Replikasi konfigurasi mereka dan pastikan perutean data yang sesuai untuk mencapai ketahanan regional. Azure Stream Analytics tidak menyediakan fitur asli untuk replikasi multi-wilayah, tetapi pendekatan ini memungkinkan failover dan kontinuitas. Untuk informasi selengkapnya, lihat Solusi multi-wilayah kustom untuk ketahanan.

Gambaran umum arsitektur keandalan

Bagian ini menjelaskan beberapa aspek penting tentang cara kerja layanan yang paling relevan dari perspektif keandalan. Bagian ini memperkenalkan arsitektur logis, yang mencakup beberapa sumber daya dan fitur yang Anda sebarkan dan gunakan. Ini juga membahas arsitektur fisik, yang memberikan detail tentang cara kerja layanan di bawah sampul.

Arsitektur logis

Pekerjaan adalah unit dasar di Azure Stream Analytics yang memungkinkan Anda menentukan dan menjalankan logika pemrosesan streaming Anda. Pekerjaan terdiri dari komponen utama berikut:

  • Input yang membaca data streaming dari sumber data seperti Azure Event Hubs, Azure IoT Hub, atau Azure Storage.
  • Kueri yang memproses dan mengubah data.
  • Output yang terus menulis hasil ke tujuan yang berbeda, seperti Azure SQL Database, Azure Data Lake Storage, Azure Cosmos DB, dan Power BI.

Untuk informasi selengkapnya, lihat Model sumber daya Azure Stream Analytics.

Arsitektur fisik

Stream Analytics mencapai keandalan tinggi dengan menerapkan beberapa lapisan ketahanan untuk mengurangi masalah pada infrastruktur dasar serta sumber data input dan output. Komponen berikut membantu memastikan bahwa pekerjaan Anda berjalan dengan kuat:

  • Simpul pekerja: Pekerjaan Azure Stream Analytics berjalan dalam kluster. Komputer virtual (VM) dalam kluster dikenal sebagai simpul pekerja. Ketika Anda menggunakan SKU Standard atau Standard V2, pekerjaan Anda berjalan di kluster bersama. Saat Anda menggunakan SKU Khusus, pekerjaan Anda berjalan pada kluster khusus mereka sendiri.

    Platform ini secara otomatis mengelola pembuatan simpul pekerja, penempatan pekerjaan di seluruh simpul pekerja, pemantauan kesehatan, dan penggantian simpul pekerja yang tidak sehat, sehingga Anda tidak melihat atau mengelola VM secara langsung.

  • Sus: SU mewakili sumber daya komputasi yang menjalankan pekerjaan. Semakin tinggi jumlah SU, semakin banyak sumber daya komputasi yang dialokasikan untuk pekerjaan tersebut. Platform ini mengelola node kerja dan distribusi pekerjaan di seluruh node kerja, tetapi Anda bertanggung jawab untuk mengalokasikan SU ke pekerjaan. Untuk informasi selengkapnya, lihat Memahami dan menyesuaikan SU Azure Stream Analytics.

  • Pos pemeriksaan: Azure Stream Analytics mempertahankan status pekerjaan melalui titik pemeriksaan status reguler. Titik pemeriksaan (checkpoints) membantu pekerjaan yang gagal pulih dengan cepat dengan pemrosesan ulang data yang minimal, bahkan untuk pekerjaan yang menggunakan logika kueri berstatus.

    Saat kegagalan pemrosesan terjadi, Azure Stream Analytics secara otomatis memulai ulang dari titik pemeriksaan terakhir dan memproses ulang peristiwa yang gagal selama pemrosesan. Jaminan ini berlaku untuk semua fungsi bawaan dan fungsi yang ditentukan pengguna dalam pekerjaan. Tetapi mencapai pengiriman end-to-end dengan sekali saja tergantung pada kemampuan destinasi output Anda. Untuk informasi selengkapnya, lihat Konsep titik pemeriksaan dan pemutaran ulang dalam pekerjaan Azure Stream Analytics.

Nota

Dengan menggunakan Azure Stream Analytics di IoT Edge, Anda dapat menjalankan pekerjaan di infrastruktur Anda sendiri. Saat Anda menggunakan Stream Analytics di IoT Edge, Anda bertanggung jawab untuk menyiapkannya untuk memenuhi persyaratan keandalan Anda. Stream Analytics pada IoT Edge berada di luar cakupan artikel ini.

Ketahanan terhadap kesalahan sementara

Kesalahan sementara adalah kegagalan yang bersifat sementara dan intermiten dalam komponen. Mereka sering terjadi di lingkungan terdistribusi seperti cloud, dan mereka adalah bagian normal dari operasi. Kesalahan sementara memperbaiki diri setelah waktu yang singkat. Penting bahwa aplikasi Anda dapat menangani kesalahan sementara, biasanya dengan mencoba kembali permintaan yang terpengaruh.

Semua aplikasi yang dihosting cloud harus mengikuti panduan penanganan kesalahan sementara Azure saat berkomunikasi dengan API, database, dan komponen lain yang dihosting cloud. Untuk informasi selengkapnya, lihat Rekomendasi untuk menangani kesalahan sementara.

Azure Stream Analytics secara otomatis menangani banyak kesalahan sementara saat menyerap data dari input dan menulis data ke output dengan menggunakan mekanisme coba lagi bawaan. Setelah mulai ulang simpul pekerja atau penetapan ulang pekerjaan, pekerjaan menggunakan titik pemeriksaan untuk memutar ulang peristiwa apa pun yang tidak sepenuhnya diproses dan terus diproses sampai mencapai aliran input saat ini.

Ini adalah praktik yang baik untuk menerapkan kebijakan kesalahan output. Tetapi kebijakan ini hanya berlaku untuk kesalahan konversi data, dan kebijakan tersebut tidak mengubah cara Azure Stream Analytics menangani kesalahan sementara.

Ketahanan terhadap kegagalan zona ketersediaan

Zona ketersediaan adalah grup pusat data yang terpisah secara fisik dalam wilayah Azure. Ketika satu zona gagal, layanan dapat melakukan failover ke salah satu zona yang tersisa.

Stream Analytics secara otomatis memiliki redundansi zona di wilayah yang mendukung zona ketersediaan, yang berarti bahwa prosesnya menggunakan beberapa zona ketersediaan. Redundansi zona memastikan bahwa pekerjaan Anda tetap tahan terhadap berbagai kegagalan, termasuk pemadaman pusat data bencana, tanpa perubahan pada logika aplikasi.

Saat Anda membuat pekerjaan Stream Analytics di wilayah yang mendukung zona, layanan mendistribusikan sumber daya komputasi dari pekerjaan Anda ke berbagai zona ketersediaan.

Diagram yang menunjukkan pekerjaan Stream Analytics yang redundan zona.

Model penyebaran zona-redundan ini memastikan bahwa pekerjaan streaming Anda terus memproses data meskipun seluruh zona ketersediaan menjadi tidak tersedia. Misalnya, diagram berikut menunjukkan bagaimana pekerjaan terus berjalan jika zona 3 mengalami pemadaman.

Diagram yang menunjukkan tugas Azure Stream Analytics redundan zona yang terus berjalan saat satu zona tidak berfungsi.

Redundansi zona berlaku untuk semua fitur Azure Stream Analytics, termasuk pemrosesan kueri, titik pemeriksaan, dan tugas manajemen pekerjaan. Azure Stream Analytics secara otomatis mereplikasi status pekerjaan dan data titik pemeriksaan Anda di seluruh zona ketersediaan, yang mencegah kehilangan data dan mengurangi waktu henti selama kegagalan zona.

Persyaratan

  • Dukungan wilayah: Redundansi zona untuk sumber daya Azure Stream Analytics didukung di wilayah mana pun yang mendukung zona ketersediaan. Untuk daftar lengkap wilayah yang mendukung zona ketersediaan, lihat Daftar wilayah Azure.
  • Persyaratan SKU: Redundansi zona tersedia di semua SKU Stream Analytics.

Biaya

Redundansi zona pada Azure Stream Analytics tidak dikenakan biaya tambahan. Anda membayar tarif yang sama untuk SU apakah pekerjaan Anda berjalan dalam konfigurasi zona-redundan atau dalam konfigurasi non-zona-redundan. Untuk informasi selengkapnya, lihat Harga Azure Stream Analytics.

Mengonfigurasi dukungan zona ketersediaan

Perilaku ketika semua zona sehat

Bagian ini menjelaskan apa yang diharapkan ketika pekerjaan Stream Analytics memiliki redundansi zona dan semua zona ketersediaan beroperasi.

  • Perutean lalu lintas antar zona: Stream Analytics menjalankan setiap pekerjaan pada simpul pekerja. Pekerja di zona mana pun dapat memproses data streaming masuk. Layanan ini menggunakan penyeimbangan beban internal untuk mendistribusikan tugas pemrosesan di seluruh zona.

  • Replikasi data antar zona: Azure Stream Analytics mereplikasi status pekerjaan dan data titik pemeriksaan secara sinkron di seluruh zona ketersediaan. Saat pekerjaan memproses peristiwa dan memperbarui statusnya, Stream Analytics menulis perubahan tersebut ke beberapa zona ketersediaan sebelum membenarkannya. Replikasi sinkron ini memastikan tidak ada kehilangan data meskipun seluruh zona menjadi tidak tersedia. Proses replikasi transparan untuk aplikasi Anda dan tidak memengaruhi latensi pemrosesan dalam kondisi normal.

Perilaku selama kegagalan zona

Bagian ini menjelaskan apa yang diharapkan saat pekerjaan Azure Stream Analytics bersifat redundan zona dan ada pemadaman zona ketersediaan.

  • Deteksi dan respons: Platform Azure Stream Analytics bertanggung jawab untuk mendeteksi kegagalan di zona ketersediaan dan meresponsnya. Azure Stream Analytics menandai pekerja di zona yang gagal sebagai tidak sehat dan secara otomatis mendistribusikan ulang pekerjaan kepada pekerja di zona sehat yang tersisa. Anda tidak perlu melakukan apa pun untuk memulai failover zona.
  • Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun, Anda dapat menggunakan Azure Resource Health untuk memantau kesehatan sumber daya individual, dan Anda dapat menyiapkan pemberitahuan Resource Health untuk memberi tahu Anda tentang masalah. Anda juga dapat menggunakan Azure Service Health untuk memahami kesehatan layanan secara keseluruhan, termasuk kegagalan zona apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.
  • Permintaan aktif: Stream Analytics memindahkan pekerjaan yang berjalan ke pekerja lain di zona ketersediaan yang sehat.

    Azure Stream Analytics menggunakan titik pemeriksaan untuk mempertahankan status pemrosesan. Selama kegagalan zona, pekerja di zona sehat secara otomatis memproses ulang pekerjaan yang berjalan di zona yang gagal dari titik pemeriksaan terakhir.

  • Kehilangan data yang diharapkan: Sistem titik pemeriksaan pekerjaan memastikan tidak ada kehilangan data.

  • Waktu henti yang diharapkan: Pekerjaan yang sedang berlangsung secara otomatis dilanjutkan setelah platform memindahkannya ke pekerja yang sehat.

  • Pengalihan lalu lintas: Layanan ini secara otomatis mengalihkan semua data input baru ke pekerja di zona sehat. Koneksi yang ada dari sumber input dipulihkan kembali dengan pekerja di zona operasional. Koneksi output juga dihubungkan kembali, yang memastikan aliran data berkelanjutan melalui alur streaming Anda.

Pemulihan zona

Saat zona ketersediaan yang gagal pulih, Azure Stream Analytics secara otomatis mengintegrasikannya kembali ke dalam kumpulan pemrosesan aktif. Pekerjaan mulai menggunakan infrastruktur yang dipulihkan.

Anda tidak mengambil tindakan apa pun untuk pemulihan wilayah. Platform ini menangani semua tugas pemulihan zona, termasuk replikasi status dan redistribusi beban kerja.

Uji kegagalan zona

Platform Azure Stream Analytics mengelola perutean lalu lintas, failover, dan pemulihan zona, sehingga Anda tidak perlu memulai atau memvalidasi proses kegagalan zona ketersediaan.

Ketahanan terhadap kegagalan di seluruh wilayah

Azure Stream Analytics menyebarkan sumber daya ke dalam satu wilayah Azure. Jika wilayah menjadi tidak tersedia, pekerjaan Anda (dan kluster khusus, jika berlaku) juga tidak tersedia.

Solusi multi-wilayah kustom untuk ketahanan

Untuk mencapai ketahanan multi-wilayah untuk beban kerja streaming Anda, pertimbangkan untuk menyebarkan pekerjaan terpisah di beberapa wilayah. Saat Anda mengambil pendekatan ini, Anda bertanggung jawab untuk menyebarkan dan mengelola tugas serta menyiapkan strategi perutean dan replikasi data yang sesuai. Pekerjaan Stream Analytics adalah dua entitas yang terpisah. Aplikasi Anda bertanggung jawab untuk mengirimkan data input ke dalam kedua input regional dan untuk menggabungkan output regional. Untuk mempelajari lebih lanjut, lihat Mencapai geo-redundansi pada pekerjaan Stream Analytics.

Pencadangan dan pemulihan

Azure Stream Analytics tidak memiliki fitur pencadangan dan pemulihan bawaan.

Jika Anda ingin memindahkan, menyalin, atau mencadangkan definisi dan konfigurasi pekerjaan, Anda dapat menggunakan ekstensi Azure Stream Analytics untuk Visual Studio Code untuk mengekspor pekerjaan yang ada di cloud Azure ke komputer lokal Anda. Setelah menyimpan seluruh konfigurasi pekerjaan Azure Stream Analytics secara lokal, Anda dapat menyebarkannya ke wilayah yang sama atau wilayah Azure lainnya. Untuk informasi selengkapnya, lihat Menyalin, mencadangkan, dan memindahkan pekerjaan Azure Stream Analytics Anda.

Ketahanan terhadap pemeliharaan layanan

Stream Analytics melakukan pemeliharaan platform otomatis untuk menerapkan pembaruan keamanan, menyebarkan fitur baru, dan meningkatkan keandalan layanan. Ini mungkin menyebarkan pembaruan layanan mingguan atau lebih sering. Stream Analytics menguji semua pembaruan baru untuk memastikan kualitas tinggi.

Pertimbangkan poin-poin berikut untuk memastikan bahwa pekerjaan Anda tahan terhadap aktivitas pemeliharaan layanan:

  • Siapkan pekerjaan agar tahan terhadap pemutaran ulang. Azure Stream Analytics biasanya menggunakan titik pemeriksaan untuk memulihkan data setelah pemeliharaan layanan. Tetapi kadang-kadang perlu menggunakan teknik pemutaran ulang sebagai gantinya. Anda perlu menyiapkan sumber data input sehingga pemutaran ulang tidak menyebabkan hasil yang salah atau sebagian dalam output Anda. Untuk informasi selengkapnya, lihat Pemulihan pekerjaan dari peningkatan layanan.

  • Pertimbangkan untuk mengurangi risiko bug dengan menyebarkan pekerjaan yang identik. Layanan secara proaktif mencari sinyal setelah penyebaran ke setiap batch untuk memeriksa apakah penyebaran memperkenalkan bug. Tetapi tidak peduli seberapa banyak Anda menguji, pekerjaan yang sedang berlangsung mungkin gagal saat aktivitas pemeliharaan menimbulkan masalah. Jika Anda menjalankan pekerjaan misi penting, ambil langkah-langkah untuk mengurangi risiko ini.

    Anda dapat mengurangi risiko bug yang memengaruhi beban kerja Anda dengan menyebarkan pekerjaan yang identik ke dua wilayah Azure. Pantau pekerjaan ini untuk menerima pemberitahuan ketika sesuatu yang tidak terduga terjadi. Jika salah satu pekerjaan ini memasuki status gagal setelah pembaruan layanan Azure Stream Analytics, lakukan tindakan berikut:

    • Hubungi dukungan Azure untuk membantu mengidentifikasi penyebab dan memperbaiki masalah.
    • Gagal atas setiap konsumen hilir untuk menggunakan output pekerjaan yang sehat.

    Saat Anda memilih wilayah Azure yang akan digunakan untuk pekerjaan sekunder Anda, pertimbangkan apakah wilayah Anda memiliki wilayah berpasangan. Daftar wilayah Azure memiliki informasi terkini tentang pasangan wilayah. Stream Analytics menjamin bahwa infrastruktur pada wilayah berpasangan diperbarui pada waktu yang berbeda. Pembaruan untuk Stream Analytics tidak disebarkan secara bersamaan di sekumpulan wilayah yang dipasangkan. Ada kesenjangan waktu yang memadai antara pembaruan untuk mengidentifikasi dan memperbaiki potensi masalah.

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) untuk layanan Azure menjelaskan ketersediaan yang diharapkan dari setiap layanan dan kondisi yang harus dipenuhi solusi Anda untuk mencapai harapan ketersediaan tersebut. Untuk informasi selengkapnya, lihat SLA untuk layanan online.

Stream Analytics menyediakan SLA ketersediaan terpisah untuk panggilan API untuk mengelola tugas dan untuk operasi tugas.