Macam-macam Application Services : Mengenal SQS

Amazon Simple Queue Service (SQS) adalah layanan manajemen antrian terkelola yang disediakan oleh Amazon Web Services (AWS).

Apa itu SQS?

  • SQS adalah singkatan dari Simple Queue Service.
  • SQS adalah layanan pertama yang tersedia di AWS.
  • Amazon SQS adalah layanan web yang memberi Anda akses ke antrian pesan yang dapat digunakan untuk menyimpan pesan sambil menunggu komputer memprosesnya.
  • Amazon SQS adalah sistem antrian terdistribusi yang memungkinkan aplikasi layanan web untuk dengan cepat dan andal mengantri pesan yang dihasilkan oleh satu komponen dalam aplikasi untuk dikonsumsi oleh komponen lain di mana antrian adalah tempat penyimpanan sementara untuk pesan yang sedang menunggu pemrosesan.
  • Dengan bantuan SQS, dapat mengirim, menyimpan, dan menerima pesan antara komponen perangkat lunak pada volume berapa pun tanpa kehilangan pesan.
  • Dengan menggunakan Amazon SQS, dapat memisahkan komponen-komponen aplikasi sehingga dapat berjalan secara independen, memudahkan manajemen pesan antar komponen.
  • Setiap komponen aplikasi terdistribusi dapat menyimpan pesan dalam antrian.
  • Pesan dapat berisi hingga 256 KB teks dalam format apa pun seperti JSON, XML, dll.
  • Setiap komponen aplikasi nantinya dapat mengambil pesan secara terprogram menggunakan Amazon SQS API.
  • Antrian bertindak sebagai penyangga antara komponen yang memproduksi dan menyimpan data, serta komponen yang menerima data untuk diproses. Ini berarti antrian menyelesaikan masalah yang muncul jika produsen memproduksi pekerjaan lebih cepat daripada yang dapat diproses oleh konsumen, atau jika produsen atau konsumen hanya sesekali tersambung ke jaringan.
  • Jika memiliki dua instance EC2 yang menarik antrean SQL, dapat mengonfigurasi grup autoscaling jika sejumlah pesan melampaui batas tertentu. Misalkan jumlah pesan melebihi 10, maka dapat menambahkan instance EC2 tambahan untuk memproses pekerjaan lebih cepat. Dengan cara ini, SQS memberikan elastisitas.

Contoh :

Mari lihat sebuah situs web yang menghasilkan Meme. Misalkan pengguna ingin mengunggah foto dan mengubahnya menjadi Meme. Pengguna mengunggah foto di situs web dan situs web menyimpan foto di S3. Segera setelah diunggah, ini memicu fungsi Lambda. Lambda menganalisis data tentang gambar khusus ini ke SQS, dan data ini dapat berupa “apa yang seharusnya dikatakan bagian atas meme”, “apa yang seharusnya dikatakan bagian bawah meme”, lokasi ember S3, dll. Data tersebut berada di dalam SQS sebagai sebuah pesan. Sebuah instance EC2 melihat pesan tersebut dan melakukan tugasnya. Instance EC2 membuat Meme dan menyimpannya di S3 bucket. Setelah instance EC2 menyelesaikan tugasnya, instance tersebut kembali ke SQS. Hal terbaiknya adalah jika kehilangan instance EC2, maka juga tidak akan kehilangan pekerjaan karena pekerjaan tersebut berada di dalam bucket S3.

Jika kita tidak memiliki SQS, lalu apa yang terjadi?

Server web meneruskan informasi ke server aplikasi dan kemudian server aplikasi meminta layanan Maskapai. Jika server aplikasi macet, maka pengguna akan kehilangan kueri. Salah satu hal yang hebat tentang SQS adalah bahwa data diantrekan dalam SQS bahkan jika server aplikasi macet, pesan dalam antrian ditandai sebagai tidak terlihat dalam jendela interval waktu. Ketika batas waktu habis, pesan akan muncul kembali dalam antrean; kemudian instance EC2 baru dapat menggunakan pesan ini untuk melakukan tugasnya. Oleh karena itu, dapat dikatakan bahwa SQS menghilangkan ketergantungan server aplikasi.

Tipe Queue

Standar Queues (default)
  • SQS menawarkan antrian standar sebagai jenis antrian default.
  • Ini memungkinkan memiliki jumlah transaksi yang tidak terbatas per detik.
  • Ini menjamin bahwa sebuah pesan akan dikirim setidaknya sekali. Namun, kadang-kadang, lebih dari satu salinan pesan mungkin dikirim di luar urutan.
  • Jenis antrian ini menyediakan pemesanan dengan upaya terbaik yang memastikan bahwa pesan biasanya dikirim dalam urutan yang sama saat dikirim, tetapi tidak memberikan jaminan.
Fifo Queue
  • Antrian FIFO melengkapi Antrian standar.
  • Ini menjamin pemesanan, yaitu urutan pengirimannya juga diterima dalam urutan yang sama.
  • Fitur yang paling penting dari sebuah antrian adalah Antrian FIFO dan pemrosesan tepat-sekali, yaitu, sebuah pesan dikirim sekali dan tetap tersedia sampai konsumen memproses dan menghapusnya.
  • Antrian FIFO tidak mengizinkan duplikat untuk dimasukkan ke dalam Antrian.
  • Hal ini juga mendukung grup pesan yang memungkinkan beberapa grup pesan yang dipesan dalam satu Antrian.
  • Antrian FIFO dibatasi hingga 300 transaksi per detik tetapi memiliki semua kemampuan antrian standar.

SQS Visibility Timeout

  • Batas waktu visibilitas adalah jumlah waktu dimana pesan tidak terlihat dalam Antrian SQS setelah pembaca mengambil pesan tersebut.
  • Jika pekerjaan yang diberikan diproses sebelum batas waktu visibilitas habis, pesan tersebut akan dihapus dari Antrian. Jika pekerjaan tidak diproses dalam waktu tersebut, pesan akan kembali terlihat dan pembaca lain akan memprosesnya. Hal ini dapat mengakibatkan pesan yang sama dikirim dua kali.
  • Batas Waktu Visibilitas Default adalah 30 detik.
  • Batas Waktu Visibilitas dapat ditingkatkan jika tugas Anda membutuhkan waktu lebih dari 30 detik.
  • Batas Waktu Visibilitas maksimum adalah 12 jam.

Hal-hal penting yang perlu diingat:

  • SQS berbasis tarikan, bukan berbasis dorong.
  • Pesan berukuran 256 KB.
  • Pesan disimpan dalam antrean dari 1 menit hingga 14 hari.
  • Periode penyimpanan default adalah 4 hari.
  • Ini menjamin bahwa pesan Anda akan diproses setidaknya satu kali.

referensi : [1][2]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *