djwjiawei
djwjiawei
spl_object_hash($process)返回的是一个字符串,但是Manager中的table hash字段设的是int型 导致table中的hash存储的是错的, 根据Manager::getInstance()->getProcessByPid() 就获取不到对应的process对象了 php easyswoole process show -d 的截图信息,hash字段是不对的 
设置的minBytes为1024 * 1024 maxBytes为5 * 1024 * 1024,但每次fetch后响应的records里都只有1条记录。 详情看下边截图,kafka中的每条消息都只有十几字节  
* 你遇到了什么问题? 在新起的消费者组如果在broker端没有对应的消费位移的话,默认从offset为0开始消费,但分区前面的数据可能过期被删除了 对应的offset可能不是从0开始的 fetchMessage时候会报out_of_range,这时候看代码里获取了一次分区提交的最新偏移量从最新的消息开始消费。这样不能自己配置在新起消费者后是从头消费还是从最新的消息开始消费。 后期是否可以加一个功能,java版的是auto.offset.reset 对应的配置是earliest/latest,如果在broker里找不到对应的消费位移的话 就会根据这个配置 去取分区最早的偏移量或者最新的偏移量,这样可以在新起了消费者组后配置是从头开始消费还是从最新的消息开始消费。 * Kafka 环境是自建还是云服务? 自建 * 请执行下面的命令获取环境信息。 > `php -v & php --ri swoole & composer info | grep longlang/phpkafka` ``` #...