Je suis surpris d'avoir besoin de services tiers tels que Pusher ou Redis pour avoir une communication bidirectionnelle de mon serveur vers mes clients via WebSockets.

Quels sont les avantages de Pusher par rapport à Redis ou simplement à un serveur socker.io en dehors de nginx? Je vois de nombreux inconvénients:

  • Faites confiance à un service tiers
  • Plus de 200 000 messages par jour
  • Impossible de travailler sur un réseau local sans Internet

D'après ce que je comprends, ce ne sont que deux solutions possibles avec Laravel:

  • Écho Laravel + Redis
  • Pousseur
    • Laravel Websockets
    • Pusher Php Server

Existe-t-il une troisième alternative?

1
nowox 20 sept. 2020 à 00:21

2 réponses

Meilleure réponse

Les avantages de l'utilisation d'une solution tierce sont différents par cas d'utilisation et par personne. Cependant, de manière générale, il y a quelques avantages qui n'ont pas été mentionnés ici et qui méritent d'être soulignés:

  • Les solutions hébergées ne vous obligent pas à implémenter votre propre infrastructure pour gérer les connexions Websocket. Cela signifie que vous n'avez pas à vous soucier de la disponibilité, de la sécurité, du provisionnement ou de la maintenance de l'infrastructure, cela est fait pour vous.
  • Les solutions hébergées évoluent de manière transparente. Au fur et à mesure que la base d'utilisateurs de votre application augmente et que vos connexions se développent, vous n'avez plus besoin de fournir plus d'infrastructure et d'équilibrage de charge / de connexions d'itinéraire.
  • Les solutions hébergées telles que Pusher disposent d'équipes de support dédiées pour vous aider lors de la mise en œuvre / du dépannage.
  • Les solutions hébergées ont souvent une surveillance du serveur 24 heures sur 24, ce qui garantit que la plate-forme est disponible 24 heures sur 24, 7 jours sur 7, sans que vous ayez à répondre aux alarmes du serveur au petit matin.

Au fil des ans, on a beaucoup parlé de build vs buy, et de nombreuses ressources traitent des avantages des deux (en fait Pusher a une ressource pour cela). En fin de compte, ce n'est pas une décision qui peut être prise à votre place, vous devrez évaluer les exigences de votre application, puis rechercher ce qui correspond le mieux à votre cas d'utilisation.

1
doydoy 23 sept. 2020 à 09:37

Il existe un clone de serveur pousseur disponible sur laravel, l'avez-vous vérifié?

https://beyondco.de/docs/laravel-websockets/getting-started/introduction

  • Vous pouvez l'utiliser sur le LAN.
  • Cela exécute un serveur php-socket sur un port comme 5000
  • Utilisez simplement Laravel Echo ou Pusher SDK pour les applications mobiles et connectez-le à votre serveur sur le port 5000.

Vous n'avez à payer personne, il exécute le clone du serveur pousseur sur votre serveur.

0
Hášíl Páůďýál 20 sept. 2020 à 03:29