13 poin oleh GN⁺ 2024-07-01 | 3 komentar | Bagikan ke WhatsApp
  • Layanan drop-in yang dapat menggantikan SQS secara langsung, sangat meningkatkan pengalaman pengembang
  • Menyediakan UI yang fungsional, visibilitas, pelacakan, penjadwalan pesan, dan pembatasan laju
  • Dapat menjalankan instans SQS pribadi di semua cloud
  • Dideploy sebagai satu biner Go dan dapat digunakan dari klien SQS yang sudah ada
  • UI berjalan di :3000, dan server yang kompatibel dengan SQS berjalan di :3001
  • Kompatibel dengan klien SQS dari semua bahasa
    • Python
      • import boto3  
        # cukup ubah endpoint_url  
        sqs = boto3.client("sqs", ..., endpoint_url="http://localhost:3001";)  
        sqs.send_message(QueueUrl="...", MessageBody="hello world")  
        
      • Juga bekerja mulus dengan Celery
      • app = Celery("tasks", broker_url="sqs://...@localhost:3001")  
        

Pendapat GN⁺

  • SmoothMQ memperluas kemampuan SQS dan memberi pengembang pengalaman yang lebih baik
  • Fleksibilitasnya tinggi karena dapat menjalankan instans pribadi tanpa terikat pada cloud tertentu
  • Biaya perpindahan rendah karena klien SQS yang ada bisa langsung digunakan
  • UI memudahkan pengelolaan queue dan pesan sehingga efisiensi operasional meningkat
  • Saat mengadopsi teknologi baru, kompatibilitas dengan sistem yang ada perlu dipertimbangkan dengan matang

3 komentar

 
aer0700 2024-07-02

Sepertinya SQLite dan Postgres masih akan tetap dipakai 10 tahun lagi. Saya sempat merasa Redis juga akan begitu, tapi belakangan ini saya jadi tidak yakin.

 
superwoou 2024-07-02

Sekarang ini orang pakai apa sebagai pengganti Redis?

 
GN⁺ 2024-07-01
Komentar Hacker News
  • Idenya bagus karena memungkinkan penggunaan teknologi k8s, kubernetes, cloud native, self-hosted, dan edge-enabled dengan biaya murah

    • Sudah menggunakan rq dan minio di k8s selama beberapa tahun, dan belakangan ini mulai memperhatikan SQLite sebagai alternatif
    • Menekankan pentingnya personal cloud, serta berpikir bahwa tidak tepat jika terlalu banyak hal ditangani di public cloud
    • Sensor BTLE sangat mungkin berkomunikasi langsung dengan Apple Watch
    • Melewati cloud ternyata tidak memberikan keuntungan, dan hal itu perlu diperbaiki pada alat generasi berikutnya
  • Menunjukkan bahwa SQLite berjalan di satu server dan dalam kebanyakan kasus akan berfungsi, tetapi tidak bisa diandalkan 100%

    • Jika server antrean crash, SQS kemungkinan besar akan tetap berjalan
    • Dalam kondisi terbaik mungkin bisa bekerja, tetapi tidak akan memberikan keandalan setara SQS
  • Di luar soal skala dan benchmark, ini adalah alat yang berguna untuk modul functional test/unit test yang menggunakan SQS

  • Menargetkan sistem antrean yang di-host sendiri, dengan tujuan lebih murah daripada SQS tanpa mengorbankan performa

    • Seperti Backblaze dan Minio yang berhasil di ranah S3, mereka juga ingin berhasil di sistem antrean
  • Menyukai pembuatan layanan yang kompatibel dengan API AWS, dan menyebut proyek Dyna53

  • Dengan LocalStack, SQS dan banyak layanan AWS lain bisa digunakan untuk test/pengembangan; dokumentasinya bagus dan bersifat open source

  • Menyukai proyek yang membuat alternatif self-hosted sederhana untuk layanan populer

    • Diperkirakan akan bekerja dengan Litestream tanpa masalah besar, dan akan sangat baik sebagai sistem antrean sementara tanpa penyesuaian backend storage
  • Saran cepat mengenai struktur proyek:

    • Menyarankan agar semua struct di direktori models/ dipindahkan ke direktori root
    • Dengan begitu, pengguna paket bisa memakai nama yang pendek dan rapi seperti q.Message dan q.Queue, sekaligus menghindari konflik nama jika pengguna punya paket "models" mereka sendiri
  • Menyebut ElasticMQ, yang digunakan untuk mensimulasikan SQS di lingkungan Docker

  • Bertanya mengapa dukungan foreign key dinonaktifkan tetapi masih digunakan dalam skema database

    • Komentar "TODO: check for errors" dan bagian yang tampak menonaktifkan pemeriksaan constraint foreign key membuat orang ragu untuk mencobanya