Apa itu Pola Saga di AWS?

Apa Itu Pola Saga Di Aws



Aplikasi bermigrasi ke arsitektur terdistribusi dan layanan mikro. Ini menyebabkan kesulitan dalam memelihara data dan mengelola transaksi yang kompleks. Pola Saga menawarkan solusi yang efektif. Amazon Web Services (AWS) menyediakan berbagai alat dan layanan yang mempermudah penerapan pola Saga. Ini memastikan manajemen transaksi yang mulus di seluruh aplikasi terdistribusi.

Artikel ini akan menjelaskan apa itu pola saga, komponennya, layanan AWS yang didukung, dan manfaatnya.







Apa itu Pola Saga di AWS?

Pola saga adalah teknik desain dalam arsitektur layanan mikro untuk membantu mendistribusikan transaksi di seluruh layanan lain yang berinteraksi untuk membuat proses bisnis. Menjalankan satu transaksi di beberapa layanan mikro dapat menyebabkan beberapa kesulitan seperti masalah konsistensi data dan kegagalan sistem.



Pola Saga bekerja dengan memecah transaksi terdistribusi menjadi transaksi yang lebih kecil yang dikenal sebagai 'Langkah Saga' . Setiap 'Langkah Saga' mewakili satu operasi yang terkait dengan layanan mikro. Jika satu atau lebih 'Langkah Saga' gagal, tindakan yang diperlukan segera diambil untuk memulihkan status aplikasi. Lihat gambar di bawah ini untuk memahami cara kerja pola saga:







Mari kita pelajari tentang komponen utamanya:

Apa saja Komponen Pola Saga di AWS?

Solusi layanan mikro yang lengkap memerlukan beberapa layanan dalam arsitektur terdistribusi. Pola saga memiliki beberapa komponen utama, seperti:



  • Langkah Saga
  • Orkestra Saga
  • Kompensasi

Mari kita bahas komponen-komponen ini secara singkat.

Langkah Saga

Langkah saga adalah operasi atau tugas layanan mikro yang dilakukan sebagai bagian dari transaksi terdistribusi yang tidak memiliki efek samping negatif. Mereka diulang berkali-kali dan tidak ada efek samping yang terjadi dengan eksekusi berulang.

Orkestra Saga

Tanggung jawab utama orkestra saga adalah mengelola dan memantau setiap langkah dalam penyelesaian saga dengan sukses. Itu memulai transaksi terdistribusi ketika langkah-langkah yang tepat diambil. Ini juga memberikan kompensasi jika ada langkah yang gagal.

Kompensasi

Ketika terjadi kesalahan selama proses saga, orkestranya mengambil tindakan cepat dan tegas untuk mengubah kembali modifikasi yang diperkenalkan oleh langkah sebelumnya. Ini memastikan bahwa sistem mempertahankan ketertiban bahkan jika terjadi kesalahan.

Ini adalah komponen utama dari pola saga. Mari kita bahas layanan AWS yang mendukung pola saga.

Apa Pola Saga Layanan yang Didukung di AWS?

Ini adalah layanan yang ditawarkan oleh Amazon yang mengikuti pola saga:

  • Fungsi Langkah AWS
  • AWS Lambda
  • Amazon DynamoDB
  • Amazon SNS dan SQS
  • Gerbang API Amazon
  • CDK AWS
  • AWS SAM

Fungsi Langkah AWS

Amazon Web Services Step Functions adalah layanan terkelola penuh yang dirancang untuk memfasilitasi alur kerja dan manajemen layanan mikro dengan menyediakan mesin negara yang mewakili mesin negara kompleks (pola saga) kepada pengembang. Pengembang dapat merancang transaksi terdistribusi dengan menggunakan Step Functions sambil menyusunnya secara efektif.

AWS Lambda

Layanan komputer tanpa server Lambda dari Amazon Web Services memungkinkan pengembang untuk menjalankan kode tanpa mengelola server secara langsung. Itu memungkinkan pola saga dengan membuat fungsi Lambda yang mewakili setiap langkah di tingkat root. Pengembang yang menggunakan fungsi Lambda untuk merepresentasikan langkah dapat menggunakannya secara efektif saat merepresentasikan langkah saga individual melalui Lambdas.

Amazon DynamoDB

Amazon DynamoDB adalah layanan database NoSQL oleh AWS yang dikelola sepenuhnya. Ini menawarkan opsi penyimpanan data yang dapat diandalkan. Orkestra Saga dapat menggunakan DynamoDB untuk melacak transaksi terdistribusi seiring kemajuannya.

Amazon SNS dan SQS

Untuk membuat komunikasi yang digerakkan oleh peristiwa antara layanan mikro, Amazon Simple Notification Service (SNS) dan Simple Queue Service (SQS) digabungkan. Langkah Saga menggunakan layanan ini untuk menerbitkan pesan ke layanan mikro lainnya setelah melakukan operasi tertentu. Layanan ini kemudian memberi tahu layanan mikro lainnya tentang status penyelesaian dan pembaruan status.

Gerbang API Amazon

Amazon API Gateway adalah layanan cloud dari Amazon untuk membuat, menerbitkan, dan mengelola API. API ini dapat diskalakan ke tingkat yang diinginkan. Layanan ini menghubungkan pengguna ke AWS Lambda. Lambda selanjutnya terhubung ke fungsi langkah yang mengikuti pola saga.

CDK AWS

AWS Cloud Development Kit (CDK) adalah kerangka kerja dan alat untuk membuat dan menerapkan solusi cloud khusus. Ini adalah layanan sumber terbuka. Aplikasi yang dibangun di atas arsitektur dan desain pola saga dapat digunakan menggunakan alat ini.

AWS SAM

Model Aplikasi Tanpa Server AWS digunakan untuk membuat aplikasi tanpa server. Framework ini juga open source. Aplikasi apa pun yang menggunakan pola saga dapat dibuat tanpa penyediaan server yang menggunakan AWS SAM.

Ada layanan AWS yang mendukung pola saga. Mari kita bahas manfaat yang ditawarkan pola saga.

Apa Manfaat Pola Saga di AWS?

Beberapa manfaat yang diberikan pola saga adalah di bawah ini:

  • Manajemen Transaksi Terdistribusi
  • Konsistensi Data
  • Toleransi kesalahan
  • Skalabilitas
  • Mari kita bahas manfaatnya secara detail.

    Manajemen Transaksi Terdistribusi

    Pola Saga memberikan solusi sederhana namun efisien untuk menangani transaksi terdistribusi dalam arsitektur layanan mikro. Dengan memecah transaksi menjadi langkah-langkah yang dapat dikelola, mereka membantu merampingkan alur kerja yang kompleks.

    Konsistensi Data

    Tindakan kompensasi dirancang untuk menjaga konsistensi data bahkan saat menghadapi kegagalan sistem parsial dan transaksi parsial. Pengembang dapat mencapai keadaan ekuilibrium terlepas dari hasil transaksi dalam sistem terdistribusi menggunakan pola saga.

    Toleransi kesalahan

    Pola Saga menyediakan arsitektur layanan mikro dengan toleransi kesalahan yang lebih baik dengan menangani kegagalan di setiap tingkat langkah dan mengkompensasi kesalahan. Akibatnya, sistem yang menggunakannya dapat pulih dengan cepat dari kegagalan transaksi parsial tanpa memengaruhi kinerja aplikasi secara keseluruhan.

    Skalabilitas

    Pola saga menawarkan skalabilitas horizontal, yang memungkinkan sistem menangani peningkatan beban transaksional dengan menambahkan lebih banyak instans layanan mikro. Fleksibilitas seperti itu sangat berharga untuk aplikasi modern yang harus menangani beban kerja yang berfluktuasi secara efektif.

    Ini semua tentang pola saga dan komponennya serta penggunaannya dalam layanan AWS.

    Kesimpulan

    Pola Saga memberikan pendekatan yang efektif untuk menangani transaksi terdistribusi dalam arsitektur layanan mikro. AWS Step Functions, Lambda, DynamoDB, SNS, dan SQS hanyalah beberapa layanan AWS yang mendukung pola ini. Artikel ini telah menjelaskan pola saga dan cara kerjanya secara komprehensif.