高并发 - swoole+rabbitmq+redis构建高迸发网站
大家讲道理
大家讲道理 2017-04-22 08:59:34
0
1
888

最近耳濡目染的了解了swoole、rabbitmq,redis以前用这还算熟悉。公司是做O2O项目,我是后台组(PHP),负责为移动APP端提供数据接口,现在用户数呈指数增加,再有项目很快就无法承受高迸发访问,所以想重构。

初步的想法是:
用rabbitmq作service,处理一些耗时工作,比如:图片上传,邮件发送,日志等。
用redis作数据缓存。
swoole不知道怎么用,看了官方的一些介绍好像很适合处理高迸发项目,但是不知道怎么实用起来。

现有以下几点疑问:
1、rabbitmq怎么传递任务,比如用户上传图片,表单提交一个图片过来,怎么将这个任务加入到队列?消息应该怎么传?传送邮件如果失败了(邮件地址不正确)怎么通知前端应用?
2、三者如何组合,用什么作为接口入口?
3、或者有其他比较好的架构?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(1)
PHPzhong
  1. 写真をアップロードするには、まずフォームによって送信された写真を受け取り、すべての情報をデータベースに保存してから、写真情報をタスクキューに送信する必要があります。

たとえば、フォームは、name と img の 2 つの名前を渡し、次に img の新しいファイル名を生成して画像を保存し、名前と画像ファイル名をデータベースに保存し、画像ファイル名をメッセージ キューに渡します (画像パスの問題を考慮できます)。以下は、これらのキューを処理し、画像を画像サーバーに転送する別のタスクです。
しかし!メッセージ キューを使用して画像をアップロードする代わりに、専用の画像サーバーを使用して画像を直接処理することをお勧めします。メール送信失敗について、メールサーバーの応答待ちに時間がかかる場合は、サイト内メッセージ通知など他の方法をご利用ください。

2.もちろん、入り口としてスウールを併用する必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート