关于大并发在线实时图像处理的解决方案

无忌
  • 13

最近有个项目,需要做个图片合成的功能
大概是类似这个站 http://www.teeume.com/goods/2408.html

1
选择不同的颜色,图案会叠加子啊不同的背景上.

目前我是用PHP实现,但考虑到日后大并发的情况,PHP可能难以应付,当然这里会用到一些缓存技术,比如DoubanDB,把首次生成的图片放在DoubanDB

不知道这块能否有更好的方案,比如用其他方式生成,python,ruby,nodejs...php

另外据说php连redis的性能不怎么样,跟连mysql差很远,是否改成python连接好一些呢?

回复
阅读 5.2k
2 个回答
李惟
  • 2.1k
✓ 已被采纳

不知道你的项目有“多大”,但是我想说,PHP处理这么几张图片不在话下。

做个总结吧: 1.PHP怎么做

一款T恤6个颜色(也可以多个),那就是1x6,你的网站现在有多少款T恤呢?每天提交量多少呢,这个完全能估出来。

假如1000提交/天,那么就是1000x6/24/60;每分钟处理4张图片,很难么?

2.怎么存,一个款式6个颜色,一个颜色一张图片,图片放硬盘,至于数据放哪里?mysql、redis,这个随你了,不过我个人会选择mysql,因为这个和我的SKU挂钩的哦;再比如我需要每月统计哪个sku卖的好,mysql最合适不过了

3.如果用户需要前端操作怎么办?比如用户需要移动T恤图案位置,大小什么的。咯,楼下说了canvas,不占用你的服务器资源的哦,不过你要考虑考虑兼容哦,解决的办法也有很多SVG,flash,这个不在问题范围内,不详细说明

答案应该是不需要处理图片吧???
直接记录贴图的位置信息,角度信息,底板信息就行了。php就足够。
另外,如果非要生成图片,建议别用fpm,进程不够会卡住。

宣传栏