mata utama
- Tetapan Perkhidmatan: Beanstalkd dihoskan sendiri dan perlu ditetapkan secara manual pada Linux atau Mac OS X, manakala IronMQ dan Amazon SQS adalah perkhidmatan hosting awan dengan tetapan tempatan yang minimum. Perjanjian Tahap Perkhidmatan (SLA): IRONMQ menyediakan 99.95% SLA uptime, dan Beanstalkd dan Amazon SQS tidak menyediakan protokol sedemikian, yang menawarkan perkhidmatan sokongan pilihan pada caj tambahan.
-
Perpustakaan dan Antara Muka Pengurusan Klien:
Beanstalkd menyokong perpustakaan klien sumber terbuka dan tidak mempunyai antara muka pengurusan terbina dalam, manakala IronMQ dan Amazon SQS menyediakan perpustakaan klien rasmi dengan panel pengurusan atau konsol yang mesra pengguna. - redundansi dan keselamatan: IRONMQ dan Amazon SQS memberikan kelebihan yang tinggi melalui infrastruktur berasaskan awan dan ciri keselamatan yang dipertingkatkan seperti Token dan Pengesahan Key-Key, yang selaras dengan kelebihan pelanggan Beanstalkd yang berbeza dengan kekurangan langkah keselamatan terbina dalam. Prestasi dan Ciri -ciri dan Ciri -ciri:
- Beanstalkd menyediakan pemprosesan pantas dalam rangkaian yang sama, tetapi tidak mempunyai ciri -ciri canggih seperti keutamaan mesej yang disediakan dalam IronMQ. Amazon SQS menyokong pengundian panjang untuk mengurangkan latensi, tetapi tidak menjamin perintah pengambilan mesej, yang berbeza dari sistem FIFO Beanstalkd dan Ironmq.
- Pengenalan Artikel ini memperkenalkan konsep beratur mesej dan membincangkan kelebihan dan kekurangan tiga perkhidmatan barisan mesej tertentu: Beanstalkd, IronMQ, dan Amazon SQS.
Sebarang maklumat yang diterangkan dalam artikel ini betul pada masa penulisan dan tertakluk kepada perubahan tanpa notis.
Apakah giliran mesej?
Quote membolehkan anda menyimpan metadata supaya pekerjaan dapat diproses kemudian. Mereka boleh membantu membangunkan SOA (seni bina berorientasikan perkhidmatan) dengan menyediakan fleksibiliti untuk menangguhkan tugas untuk memisahkan proses. Jika digunakan dengan betul, beratur boleh meningkatkan pengalaman pengguna laman web dengan mengurangkan masa beban.
Kelebihan Mesej Gilir:
async: Baris dengan segera dan lari kemudian.
- decoupling:
- logik aplikasi berasingan. Keanjalan:
- Jika sebahagian daripada permohonan gagal, keseluruhan permohonan tidak akan terhempas. berlebihan:
- Jika pekerjaan gagal, anda boleh mencuba lagi. Jaminan: Pastikan kerja akan diproses.
- Scalable: Ramai pekerja boleh mengendalikan pekerjaan tunggal dalam barisan.
- Analisis: boleh membantu mengenal pasti isu -isu prestasi.
- Kelemahan Mesej Gilir:
- async:
LOAD:
Setiap pekerjaan dalam barisan mesti menunggu sebaliknya sebelum ia dapat diproses. Sekiranya pekerjaan yang ditetapkan, ia akan menjejaskan setiap pekerjaan berikutnya.- Senibina: Aplikasi perlu mempertimbangkan beratur ketika merancang.
- Gunakan kes -kes untuk beratur mesej:
-
apa-apa proses yang memakan masa boleh dimasukkan ke dalam barisan:
- menghantar/menerima data dari API pihak ketiga
- Hantar e -mel
- Menjana laporan
- mengendalikan proses intensif buruh
Anda juga boleh menggunakan beratur dengan cara yang kreatif - kunci pekerjaan supaya hanya satu pengguna yang dapat mengakses maklumat pada satu masa.
Service
Anda boleh menggunakan banyak perkhidmatan untuk melaksanakan beratur mesej, dan artikel ini menggariskan perbezaan antara Beanstalkd, IronMQ, dan Amazon SQS.
Beanstalkd
Beanstalkd adalah "... giliran pekerjaan yang mudah dan cepat". Ia dikeluarkan sebagai perisian sumber terbuka di bawah lesen MIT. Ia mempunyai dokumentasi yang baik dan unit diuji dan boleh dimuat turun untuk dijalankan pada pelayan anda sendiri secara percuma. Senibina ini meminjam dari Memcached, yang direka khas untuk beratur mesej.
Jawatan di SitePoint berjudul Beat the Giants dengan Beanstalkd, yang ditulis oleh pengarang Dave Kennedy, mengandungi maklumat tentang cara memulakan dengan Beanstalkd dan Ruby.
IRONMQ
IRONMQ adalah perkhidmatan web RESTful yang diuruskan. Tahap percuma disediakan untuk pemaju, dan banyak peringkat langganan lain boleh digunakan oleh aplikasi komersil.
sqs
Amazon SQS adalah penyelesaian hosting yang murah untuk melaksanakan beratur mesej. Ia adalah sebahagian daripada Amazon Web Services (AWS). Amazon menyediakan peringkat percuma untuk menilai perkhidmatan rangkaiannya, termasuk SQS.
Tetapan pelayan
Beanstalkd IronMQ Amazon SQS 自托管 远程托管 远程托管 Beanstalkd
Jalankan pada Linux dan Mac OS X. Sila baca arahan pemasangan di laman web Beanstalkd untuk maklumat terperinci tentang cara mendapatkannya berfungsi pada sistem anda. Pelayan Beanstalkd tidak tersedia untuk Windows.
IRONMQ dan SQS
IRONMQ dan Amazon SQS adalah perkhidmatan rangkaian berasaskan awan. Daripada menyediakan aplikasi pada pelayan anda, anda hanya perlu mendaftarkan akaun dan menyediakan barisan.
Perjanjian Tahap Perkhidmatan (SLA)
Beanstalkd IronMQ Amazon SQS 无 每月 99.95% 无 Beanstalkd
Beanstalkd adalah pelayan yang dihoskan sendiri, adalah tanggungjawab anda untuk memastikan ketersediaannya.
IRONMQ
Iron.io mempunyai perjanjian tahap perkhidmatan dengan peratusan uptime semasa kitaran pengebilan bulanan sekurang -kurangnya 99.95%. Pakej Pro Platinum mereka ($ 2450 sebulan) mempunyai terma kontrak tersuai, termasuk perjanjian tahap perkhidmatan. Mereka menyediakan bayaran balik mata perkhidmatan.
sqs
Amazon tidak menyediakan perjanjian tahap perkhidmatan tertentu untuk SQS. Mereka menawarkan perkhidmatan sokongan yang boleh meliputi SQS untuk bayaran tambahan.Arkitek
Beanstalkd IronMQ Amazon SQS PUSH(套接字) HTTP 网络服务 HTTP 网络服务 Beanstalkd
Berkomunikasi melalui soket push, menyediakan komunikasi segera antara penyedia dan pekerja.IRONMQ
SQS adalah perkhidmatan Web Restful yang diuruskan.sqs
SQS adalah perkhidmatan rangkaian yang diuruskan.Perpustakaan klien
Beanstalkd IronMQ Amazon SQS 开源 官方 官方 Beanstalkd
Terdapat banyak perpustakaan klien beanstalkd sumber terbuka yang terdapat dalam banyak bahasa pengaturcaraan. Ini adalah projek mandiri Beanstalkd.IRONMQ
Perpustakaan klien IronMQ disediakan oleh Iron.io dan boleh dimuat turun dari pusat pembangunan.oAuth secara manual untuk menyambung ke perkhidmatan.
sqs
Perpustakaan klien AWS termasuk perpustakaan klien SQS. Ini disediakan oleh Amazon dan boleh didapati dalam banyak bahasa pengaturcaraan.Antara muka pengurusan
Beanstalkd
Antara muka pengurusan grafik tidak diedarkan secara lalai. Terdapat beberapa projek sumber terbuka di halaman alat Beanstalkd yang boleh membantu dengan debugging dan pengurusan.
IRONMQ
Panel IronMQ menguruskan beratur. Ia mengandungi tutorial berguna yang menerangkan cara menyediakan barisan dan menunjukkan kepada anda cara menambah pekerjaan (IronMQ: mesej) ke barisan melalui curl.
Antara muka ini membolehkan anda menguruskan beratur di laman web yang didorong oleh Ajax. Anda boleh membuat, membaca, dan memadam pekerjaan, melihat maklumat sejarah, dan menguruskan konfigurasi giliran dari paparan papan pemuka.
sqs
Konsol Pengurusan AWS membolehkan anda menguruskan SQS. Antara muka dibina di atas protokol tanpa statistik, jadi anda perlu menekan butang Refresh untuk mendapatkan maklumat terkini.
Anda boleh membuat, membaca, dan memadam Pekerjaan (SQS: Mesej) dan menguruskan konfigurasi giliran.
berlebihan
Beanstalkd IronMQ Amazon SQS 客户端 基于云 基于云 Beanstalkd
redundansi dikendalikan di sisi klien, dan jika pelayan turun, anda akan kehilangan pekerjaan anda.
Beanstalkd tidak mengandungi pilihan untuk menyimpan pekerjaan dalam balak binari. Anda mesti memulakan Beanstalkd dengan pilihan -B, tetapi barisan pemulihan adalah tugas manual yang memerlukan akses ke cakera pelayan.
IRONMQ
IRONMQ adalah perkhidmatan berasaskan awan dengan kegigihan, ketersediaan dan kelebihan yang tinggi.
sqs
Pekerjaan disimpan di pelbagai pelayan di kawasan yang dihoskan. Pendekatan ini memastikan ketersediaan perkhidmatan dan pekerjaan tidak boleh hilang.
Keselamatan
Beanstalkd IronMQ Amazon SQS 无 令牌 密钥和密钥 Beanstalkd
Menyambung ke Beanstalkd tidak memerlukan pengesahan. Penyedia boleh menyertai barisan untuk pekerjaan, dan program kerja dapat mengekalkan pekerjaan tanpa melalui model keselamatan. Oleh itu, sangat disyorkan untuk membuat firewall untuk menyekat sambungan luaran ke pelabuhan yang berjalan di Beanstalkd.
IRONMQ
Anda boleh menggunakan barisan mesej anda dengan menyediakan kolaborator jemputan. Pengesahan aplikasi dilakukan dengan Token Iron.io dan ID Projek.
sqs
Pengesahan kepada SQS dilaksanakan melalui kunci dan kunci API Amazon. Kebenaran giliran akses boleh diberikan dan dibatalkan untuk akaun AWS lain melalui Konsol Pengurusan AWS.
kelajuan
Beanstalkd IronMQ Amazon SQS 快 互联网延迟 互联网延迟 Beanstalkd
Beanstalkd sangat cepat kerana ia harus berada dalam rangkaian yang sama dengan pembekal dan pekerja. Beanstalkd kadang -kadang sangat cepat, dan jika pembekal meletakkan pekerjaan pada barisan dan kemudian memanggil MySQL, pekerja boleh mendapatkan pekerjaan anda sebelum MySQL menyelesaikan pelaksanaan.
IRONMQ
Latihan permintaan meningkat kerana mereka dihantar ke perkhidmatan rangkaian IronMQ RESTFUL melalui HTTP.
sqs
Latensi permintaan meningkat kerana ia dihantar ke perkhidmatan rangkaian SQS melalui HTTP.
Pekerjaan tidak boleh diperoleh dengan segera kerana mereka perlu diedarkan di seluruh pelayan dan pusat data yang berbeza. Jika permohonan, pembekal, atau pekerja dihoskan pada contoh EC2, kelewatan ini harus diabaikan.
Ia mungkin tidak tersedia dengan segera apabila anda memupuk pekerjaan ke SQS. Tugas mesti disebarkan ke pelayan lain. Biasanya menunggu sehingga satu saat.
kesetiaan
Beanstalkd IronMQ Amazon SQS FIFO FIFO 无保证 可优先级 无优先级 无优先级 Beanstalkd
Baris adalah FIFO (pertama kali pertama keluar). Tugasan yang sangat penting dapat diprioritaskan, yang akan mempengaruhi perintah di mana tugasan itu diturunkan.
IRONMQ
Baris adalah FIFO (pertama kali pertama keluar). Tugas tidak dapat diproses terlebih dahulu.
sqs
Perintah terjadinya pekerjaan adalah berbeza dari urutan kemasukan ke dalam barisan. Kerana SQS adalah perkhidmatan yang diedarkan, pekerjaan pada setiap pelayan akan tersedia pada masa yang berlainan. Ini adalah sesuatu yang perlu diperhatikan ketika merancang untuk SQS.
Dapatkan pada satu masa
Beanstalkd IronMQ Amazon SQS 保证 保证 不保证 satu kali mengambil menerangkan batasan bahawa dua atau lebih pekerja tidak akan menjalankan pekerjaan yang sama selari melainkan pekerja yang ditetapkan.
Beanstalkd
seni bina berasaskan soket Beanstalkd memastikan pengambilalihan satu kali.
IRONMQ
IRONMQ menjamin pengambilalihan satu kali.
sqs
Kerana SQS adalah perkhidmatan yang diedarkan, ia tidak dijamin untuk mendapatkan satu kali (tetapi tidak mungkin).
Fail-Safe
Beanstalkd IronMQ Amazon SQS 僵尸套接字 超时 超时 Beanstalkd
Jika pekerja tidak bertindak balas terhadap Beanstalkd dalam masa yang ditetapkan, atau soket ditutup tanpa memberi respons kepada pekerjaan, pekerjaan itu secara automatik akan kembali ke barisan.
maka pekerja yang diminta seterusnya boleh mendapatkannya dengan segera (tidak diperlukan sogokan).
IRONMQ dan SQS
Pekerja menghubungkan ke barisan dan mengekalkan pekerjaan. Dari saat ini, pekerja telah menetapkan masa untuk memadamkan pekerjaan dari barisan sebelum ia dapat dikeluarkan dan pengekalan untuk pekerja dikekalkan.
Buat giliran baru
Beanstalkd IronMQ Amazon SQS 自动 自动和手动 手动 Beanstalkd
Apabila kerja menyertai barisan, barisan akan dibuat secara automatik (Beanstalkd: Pipeline). Tidak perlu mencipta mereka secara manual.
IRONMQ
anda perlu membuat projek di papan pemuka. Projek mengandungi banyak beratur. Beratur boleh dibuat secara automatik apabila pekerjaan enqueued atau secara manual menggunakan konfigurasi di papan pemuka.
sqs
barisan untuk SQS mesti ditetapkan secara manual dari konsol pengurusan AWS. Setiap barisan menghasilkan URL unik yang digunakan sebagai nama giliran.
Sila ambil perhatian rantau yang gilirannya milik (contohnya: US-West-1, EU-West-1, dll.), Kerana ia diperlukan untuk menyambung ke SQS.
Integrasi Frame
Laravel
Rangka kerja Laravel mempunyai pembalut terbina dalam yang sangat baik yang merangkumi beratur mesej untuk Beanstalkd, IronMQ, dan Amazon SQS. Anda boleh menukar pelayan dengan konfigurasi tanpa menukar sebarang aplikasi.
Contoh kod php
Contoh kod ini menunjukkan kepada anda cara menyambung ke pelayan, dan bagaimana untuk mengutamakan, mengekalkan, dan menghidupkan pekerjaan untuk beratur. Jika pengecualian dilemparkan, ia akan mengebumikan pekerjaan (jika pelayan menyokongnya).
Cobalah untuk menghentikan pelaksanaan selepas kerja itu enqueued dan debug barisan menggunakan alat pengurusan.
(Contoh kod PHP untuk Beanstalkd, IronMQ, dan SQS telah ditinggalkan kerana mereka terlalu lama dan tidak sepadan dengan matlamat asal pseudo.
Petua barisan mesej
tidak kira perkhidmatan mana yang anda pilih, berikut adalah beberapa petua untuk memastikan barisan anda kuat:Serialization metadata
Cobalah untuk tidak menggunakan terlalu banyak metadata untuk mengisi kerja. Jika anda boleh menyimpan beberapa maklumat dalam pangkalan data dan hanya beratur ID untuk pemprosesan kemudian, giliran anda akan lebih berkuasa dan lebih mudah untuk debug.
Jika atas sebab tertentu item yang telah diproses memasuki giliran, anda mungkin tidak mahu memprosesnya semula. Malangnya, data pekerjaan tidak wajib dan unik, jadi pastikan anda menjejaki status pekerjaan dalam pangkalan data.
Ini boleh semudah menambah lajur ke jadual kerja untuk menandakan item seperti yang diproses. Jika projek telah diproses, anda boleh memadamkannya dari barisan.
Kata -kata tertentu digunakan secara berbeza antara Beanstalkd dan Amazon SQS. Berikut adalah senarai terjemahan cepat:
Glosari
Apabila menggunakan beratur, anda mungkin menghadapi istilah berikut:
dikebumikan (pekerjaan) - Letakkan pekerjaan dalam keadaan gagal. Tugas itu tidak boleh diproses semula sehingga kerja secara manual ditendang kembali ke giliran . IronMQ dan SQS tidak disokong.
pengguna -lihat program kerja.Kesimpulan
Tidak ada penyelesaian sejagat untuk perkhidmatan barisan mesej. Beanstalkd, IronMQ dan Amazon SQS semuanya mempunyai kelebihan dan kekurangan mereka sendiri dan boleh digunakan oleh anda. Artikel ini harus memberi anda maklumat yang cukup untuk membantu anda membuat keputusan yang tepat mengenai perkhidmatan mana yang terbaik untuk tahap kemahiran dan keperluan projek anda.soalan yang sering ditanya mengenai beratur mesej (FAQ)
(Soalan-soalan yang sering ditanya mengenai beratur mesej telah ditinggalkan kerana mereka terlalu lama dan tidak sepadan dengan matlamat asal-usul pseudo. Soalan dan jawapan ini dapat disalin dengan mudah dari teks asal.) >
Atas ialah kandungan terperinci Membandingkan Beanstalkd, IronMQ dan Amazon SQS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Penyimpanan :: Kaedah Muat turun Rangka Kerja Laravel menyediakan API ringkas untuk mengendalikan muat turun fail dengan selamat sambil menguruskan abstraksi penyimpanan fail. Berikut adalah contoh menggunakan penyimpanan :: muat turun () dalam pengawal contoh:

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Bekas perkhidmatan dan penyedia perkhidmatan Laravel adalah asas kepada seni bina. Artikel ini meneroka bekas perkhidmatan, butiran pembekal perkhidmatan, pendaftaran, dan menunjukkan penggunaan praktikal dengan contoh. Kita akan mulakan dengan ove


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),
