2017-06-09 12 views
1

私はソーシャルネットワークのLaravelアプリケーションを使用して、ユーザーが互いにコメントしたりフォローしたりすることができます。 1000人以上のユーザーがページの通知を受け取るために購読しているとします。今、ページが投稿を公開するたびに、私は購読しているすべてのユーザーに通知を送信する必要があります。 私のような通知用のテーブルを持っている: -Laravel:1000人以上のユーザーに通知を送信

  • のuser_id -
  • page_idのが加入しているユーザー - ブログ/記事を公開したページ
  • 通知 - (すべてのユーザーに対して同じ)通知テキスト

基本的には、ページを購読しているすべてのユーザーに通知を送信したいと考えています。 laravelでは、すべてのユーザーにループまたはチャンクを使用してデータベースに行を追加できます。しかし、私はlaravelでユーザーに通知を送信する最も堅牢な方法は何かを知りたい。ありがとう。

答えて

2

Laravel's Queueを調べることを検討してください。一度に送信される相手の数、送信された相手の数、失敗のケースを処理する方法を細かく制御できます。 Queue + Redisは非常によく似た機能を多数使用しています。 https://laravel.com/docs/5.4/queues

+0

もう1つ質問すれば、何千ものユーザーが同じ通知を受けるとします。通知テーブルに最適なデータベーススキーマは何でしょうか。すべてのユーザーに同じデータの1000行を追加する必要がありますか?それとも良い方法がありますか? –

+0

通知が各blastで同じだが将来的に一括通知を送信する可能性があるがコンテンツが異なる場合は、ユーザーと通知の間に多対多の関係を使用します。いずれにせよ、多くのレコードで終わるつもりですが、ちょっと、ストレージが安いです;) – btl

関連する問題