草庐IT

Hyperf 如何做到用两个端口 9501/9502 都能连接 Websocket 服务以及多 Worker 协作实现聊天室功能

为何 Hyperf 能够在两个端口上监听 WebSocket 连接?源码角度来看,在配置了多个 Servers 时,实际上,只启动了一个 Server注:我之前接触的代码都是启动一个服务绑定一个端口,之前也看过swoole扩展的文档,但是没留意服务和监听端口也是分离的,这启发了我一种思维,代码凡是能继续拆分的,就继续拆分,这样代码就会有更多的灵活,每个功能都能进行扩展,将服务和端口进行拆分之后,就可以在一个Server绑定多个Port,每个Port又能有独立的事件。/***@paramPort[]$servers*@returnPort[]*/protectedfunctionsortServ

Hyperf使用RabbitMQ消息队列

Hyperf连接使用RabbitMQ消息中间件传送门使用Docker部署RabbitMQ,->传送门使用Docker部署Hyperf,->传送门-部署环境安装amqp扩展composerrequirehyperf/amqp安装command命令行扩展composerrequirehyperf/command配置参数假设已经在rabbitmq设置了交换机exchange_test和队列queue_test新建/config/autoload/amp.php配置文件,修改地址和用户名密码return['default'=>['host'=>'127.0.0.1',//rabbitmq服务的地址'p

基于VirtualBox搭建Hyperf开发环境

对于PHP而言,服务应用似乎天生就不适合它,于是swoole出现了,而Hyperf是基于swoole为PHP微服务铺路的框架。Hyperf将存在丰富的可能性,如实现Web服务,网关服务,分布式中间件,微服务架构,游戏服务器,物联网(IOT)等。官方教程给出了docker下开发的方式。然而如果有些同学就是习惯了原始的方式或者说因为某种原因不能使用该种方式开发,那还有一种就是基于VirtualBox搭建Hyperf开发环境,即不依赖docker。小马有找到一份参考视频教程传送门。然而我们在具体执行过程中可能会出现很多“意外”需要解决,小马这就一一道来。本文记载了执行期间遇到的所有奇奇怪怪的问题和有

hyperf/go/springboot通过jsonrpc通信

一、背景随着用户的增长和业务的增多,单节点服务已经满足不了需求,用hyperf对主业务进行了重构。hyperf是一个后现代的php框架,基于php+swoole,支持协程,解决了php让人诟病的性能问题和多线程支持不够的问题。官方也提供了各种组件,比如配置中心、定时任务、消息队列和微服务,对于日常业务需求,基本能做到开箱即用,有点php界的springcloud的意思。用过hyperf的微服务后,眼前一亮。hyperf采用了新起一个Server,在Service层接收和返回数据,本地也可以复用这些Service,通信协议用的是jsonrpc2.0,既支持http协议,又支持tcp协议,用htt

hyperf/go/springboot通过jsonrpc通信

一、背景随着用户的增长和业务的增多,单节点服务已经满足不了需求,用hyperf对主业务进行了重构。hyperf是一个后现代的php框架,基于php+swoole,支持协程,解决了php让人诟病的性能问题和多线程支持不够的问题。官方也提供了各种组件,比如配置中心、定时任务、消息队列和微服务,对于日常业务需求,基本能做到开箱即用,有点php界的springcloud的意思。用过hyperf的微服务后,眼前一亮。hyperf采用了新起一个Server,在Service层接收和返回数据,本地也可以复用这些Service,通信协议用的是jsonrpc2.0,既支持http协议,又支持tcp协议,用htt

一次 Hyperf 注解失效问题分析

问题环境PHP:8.0.13Swoole:4.6.2Hyperf:2.2.33运行环境:DockerDesktoponWSL2文章会持续修订,转载请注明来源地址:https://her-cat.com/posts/2023/03/02/hyperf-annotation-failure-problem-analysis/问题背景有同事说我之前使用注解实现的某个功能有问题,具体表现就是有部分使用了注解的类没有被Hyperf收集到注解收集器中,导致出现了不符合预期的结果。由于这个功能已经运行了一段时间,并且我在自己的电脑(Mac)上测试是正常的,找另外一个跟他同样使用Windows+Docker开

一次 Hyperf 注解失效问题分析

问题环境PHP:8.0.13Swoole:4.6.2Hyperf:2.2.33运行环境:DockerDesktoponWSL2文章会持续修订,转载请注明来源地址:https://her-cat.com/posts/2023/03/02/hyperf-annotation-failure-problem-analysis/问题背景有同事说我之前使用注解实现的某个功能有问题,具体表现就是有部分使用了注解的类没有被Hyperf收集到注解收集器中,导致出现了不符合预期的结果。由于这个功能已经运行了一段时间,并且我在自己的电脑(Mac)上测试是正常的,找另外一个跟他同样使用Windows+Docker开