讨论数量:
hyperf的使用上,说说我遇到的一个难点:毕竟有时候会有没法协程运行的代码,比如ldap扩展,用task进程封装后,worker进程可以调用,但是用户自定义进程没法调用;这个时候代码会退化成非协程模式,又比如mongodb,即使你不在自定义进程使用task封装的mongodb调用,但是随着业务变大,你使用起来终究是有点难受的,因为你得经常去task做封装。综上,我的建议是webman。
hyperf
和webman
性能上不分伯仲,最大的区别就是工作模型设计不同,进而带来的一些开发设计上不同。
- webman属于事件驱动非阻塞性IO设计,fpm相关生态库,很多可以复用,开发成本相对来说并不高。
- hyperf属于异步IO设计,采用协程来实现,很多库需要自己实现,生态相对来说差一点,在开发上需要避免请求上下文的影响,因此对开发者的水平有一定的要求。
推荐文章: