Socket.IO tampaknya menjadi pustaka emulasi WebSocket yang paling populer dan aktif. Juggernaut menggunakannya untuk membuat sistem pub / sub lengkap.
Faye juga populer dan aktif, dan memiliki perpustakaan javascript sendiri, membuat fungsionalitas lengkapnya sebanding dengan Juggernaut. Juggernaut menggunakan node untuk servernya, dan Faye dapat menggunakan node atau rack. Juggernaut menggunakan Redis untuk ketekunan ( koreksi: menggunakan Redis untuk pub / sub), dan Faye hanya menyimpan status dalam memori.
- Apakah semuanya di atas akurat?
- Faye mengatakan itu mengimplementasikan Bayeux - saya pikir Juggernaut tidak melakukan ini - adalah karena Juggernaut adalah level yang lebih rendah (IE, saya dapat mengimplementasikan Bayeux menggunakan Juggernaut)
- Bisakah Faye beralih menggunakan pustaka javascript browser Socket.IO jika diinginkan? Atau apakah perpustakaan javascript mereka melakukan hal yang berbeda secara fundamental?
- Adakah perbedaan arsitektur / desain / filosofi lain di antara proyek-proyek tersebut?
websocket
publish-subscribe
juggernaut
bayeux
socket.io
John Bachir
sumber
sumber
Jawaban:
Pengungkapan: Saya penulis Faye.
Faye mungkin terlihat jauh lebih kompleks dibandingkan dengan Juggernaut karena Juggernaut lebih banyak mendelegasikan, misalnya mendelegasikan negosiasi transportasi ke Socket.IO dan perutean pesan ke Redis. Ini adalah keputusan yang bagus, tetapi keputusan saya untuk menggunakan Bayeux berarti saya harus melakukan lebih banyak pekerjaan sendiri.
Adapun filosofi desain, tujuan utama Faye adalah bahwa ia harus bekerja di mana pun Web tersedia dan harus benar-benar sepele untuk digunakan. Ini sangat sederhana untuk memulai tetapi ekstensibilitasnya berarti dapat disesuaikan dengan cara yang cukup kuat, misalnya Anda dapat mengubahnya menjadi layanan push server-ke-klien (yaitu menghentikan klien yang sewenang-wenang mendorongnya) dengan menambahkan ekstensi otentikasi .
Ada juga pekerjaan yang sedang dilakukan untuk membuatnya lebih fleksibel di sisi server. Saya ingin menambahkan dukungan pengelompokan, dan membuat mesin inti pub-sub dapat dicolokkan sehingga Anda dapat menggunakan Faye sebagai antarmuka web tanpa negara untuk sistem pub-sub lain seperti Redis atau AMQP.
Saya harap ini membantu.
sumber
Saya akan sangat tertarik dengan apa yang penulis Faye katakan. Seperti yang saya katakan, saya belum pernah menggunakannya dan alangkah baiknya mengetahui perbandingannya dengan Juggernaut. Ini mungkin kasus menggunakan alat terbaik untuk pekerjaan itu. Jika pubsub yang Anda butuhkan, Juggernaut melakukannya dengan sangat baik.
sumber
Faye pasti bisa. Contoh lain dari proyek serupa di atas Socket.IO:
https://github.com/aaronblohowiak/Push-It
sumber