Skip to content

自定义切面,同时发起多个请求,最后一个请求没回包 #19

@NicholasChan1025

Description

@NicholasChan1025

自定义一个 @around("within(ESD\Core\Server\Port\IServerPort+) && execution(public **->onHttpRequest(*))")的切面
用来验证token的合法性。
当客户端同时发起多个请求,服务端通过打印log发现,当所有请求token都合法的时候,切面执行到$invocation->proceed();
最后一个请求,无法进入RouteAspect切面,导致没有回包数据
这个场景是在work_num = 1的时候出现的,当work_num>1则没问题
按照我自己的理解:
当work_num = 1的时候,所有请求都是由这个work进程来处理,某些原因或bug导致链路没执行完成
当work_num >1 请求分散给不同的work进程,相当于每个进程都只处理了一个请求,所以没复现这个情况
但是当高并发的时候,不可避免每个进程还是得同时处理多个请求,也就是这个情况有很大几率复现

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions