Maison > Questions et réponses > le corps du texte
最近耳濡目染的了解了swoole、rabbitmq,redis以前用这还算熟悉。公司是做O2O项目,我是后台组(PHP),负责为移动APP端提供数据接口,现在用户数呈指数增加,再有项目很快就无法承受高迸发访问,所以想重构。
初步的想法是:
用rabbitmq作service,处理一些耗时工作,比如:图片上传,邮件发送,日志等。
用redis作数据缓存。
swoole不知道怎么用,看了官方的一些介绍好像很适合处理高迸发项目,但是不知道怎么实用起来。
现有以下几点疑问:
1、rabbitmq怎么传递任务,比如用户上传图片,表单提交一个图片过来,怎么将这个任务加入到队列?消息应该怎么传?传送邮件如果失败了(邮件地址不正确)怎么通知前端应用?
2、三者如何组合,用什么作为接口入口?
3、或者有其他比较好的架构?
PHPz2017-04-22 09:01:34
Par exemple, le formulaire transmet deux noms : name et img, puis génère un nouveau nom de fichier pour img et enregistre l'image, stocke le nom et le nom du fichier image dans la base de données et transmet le nom du fichier image à la file d'attente des messages. (vous pouvez considérer le problème du chemin de l'image). Ce qui suit est une autre tâche pour traiter ces files d'attente et transférer les images vers le serveur d'images.
mais! Au lieu d'utiliser une file d'attente de messages pour télécharger des images, il est préférable d'utiliser un serveur d'images dédié pour les gérer directement. En ce qui concerne l'échec de l'envoi de l'e-mail, s'il faut beaucoup de temps pour attendre la réponse du serveur de messagerie, vous pouvez utiliser d'autres méthodes telles que la notification par message sur site.
2. Bien sûr, swoole sera utilisé comme entrée en combinaison.