请问要用php做一个API公共服务需要注意什么问题?

0 0 php api
セ小猪佩奇
セ小猪佩奇

声望值:107 0人

2018-12-17 10:55:50 提问

关注 0关注

收藏 0收藏, 36浏览

我们公司现在要做一个语音识别相关的API服务,内部调用的是百度语音识别的REST api,然后拿到识别后的文本后,经过自己的其它加工处理,返回一些知识点标签之类的结果给调用方。

由于之前没有做API方面的经验,请教下php适合吗?主要是怕高并发的问题,需不需要考虑多线程之类的?

(主要是想了解下应用程序这边有没有什么问题,硬件服务器环境的高可用架构会做的。)

多谢!

请先 登录 后评论

8个回答

  • DPJune128声望 2018-10-15 15:57

    一般调用人次频率不高的话是不需要考虑并发问题的,大并发问题,同时语音识别服务也不是你们真正意义上提供的,所以只用一段小脚本就可以啦。如果觉得用户多,在访问页那里加个CDN就行了。
    请先 登录 后评论
  • 满庭枫ツ172声望 2018-10-15 15:57

    没有合不合适,只有如何去做,PHP也可以做,Java也可以做,Python也可以做,主要看你的业务架构对应的技术架构的设计,你已经做了HA了,所以在流量和可用上至少有个方案处理了,PHP的API设计,大部分是短连接,在逻辑处理上响应速度也比较快,至于性能,可以选择使用PHP7或者HHVM,多线程从业务架构角度来分析看看吧。
    请先 登录 后评论
  • 独孤马特i58声望 2018-10-15 15:57

    不需要考虑性能并发这些, PHP足以. 尤其处理语音并不是在你的服务器上.
    请先 登录 后评论
  • 攻城狮44声望 2018-10-15 15:57

    1.APi 首先注重的是安全方面的信息 所以加key和sign是必须可少的。2.APi 与对方定义好入参和出参,定义好格式(最好提前书写好wiki)3.你们这边应该还回有数据库操作,书写业务逻辑,事务和回滚机制要做好4.要有日志,要有监控,报警系统。5.写接口,记得连接好PDO的来处理,防止sql注入等问题。6.至于并发问题,你们可以在nginx层做处理,从DNS方面处理,PHP这块无需过多关注7.API扩展,把功能模块单独组装,看是否需要redis,memcache,yac这种缓存服务。8.单独拉出来几台服务器跑API,还有就是做好防止接口被刷,你们监测节点,如果某个IP防止有问题,就引流到独立的一台服务器(这台服务器不参与业务)等等,9.你们可以考虑下消息队列,同步服务,swoole、rabbitMQ供你参考总结:最主要来看1.安全 2.日志 3.业务逻辑 4.nginx层处理 5.稳定性
    请先 登录 后评论
  • Sily°苏暖年222声望 2018-10-15 15:57

    并发高了可以考虑swoole。不限于php的话,可考虑go
    请先 登录 后评论
  • ㄨ木子李97声望 2018-10-15 15:57

    别动不动就是什么并发,你调百度的接口还扯什么并发,你要不先问问百度给你多少并发,就一个语音接口,而且还是调百度的,我都不想说什么,你既然这样问说明你不会php,与其问这个问题还不如先问问你会啥,swoole说百万并发,你能做的到吗
    请先 登录 后评论
  • Sily°苏暖年222声望 2018-10-15 15:57

    补充:我希望像题主还有您一样可爱的朋友们提问之前能够先阅读一下sf的一些提示,有些问题建议先自己百度,谷歌钻研一下再来sf提问,现在sf好像已经成了伸手党的天堂了,明明百度,谷歌都能简单解决的问题都来sf提问,毫无营养,sf是技术研讨区,用来填补技术漏洞的,而不是来做伸手党的。
    请先 登录 后评论
  • 飞翔的熊bla45声望 2018-10-15 15:58

    并发估计是上不去的 你后台server http 请求百度接口 消耗的资源比较大 估计几百的并发 你就得发送几百个请求到百度接口 服务器可能会瞬间cpu变得很高 因为你调用的接口应该是要传送数据过去 然后对端解析的吧 这种业务耗时不好预估 可能并发量大一点 你发送的出口都会有问题 我觉得折中一点的方案是你这边后台搭一个任务队列服务,从而限制一下并发数,做一下异步的任务进度回显或者提示 这样并发高的时候控制权还在你自己的配置里,可以保证服务至少不会挂掉,只是并发高,大家需要等待的时间长一点
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问