sofastack / sofa-boot

SOFABoot is a framework that enhances Spring Boot and fully compatible with it, provides readiness check, class isolation, etc.
https://www.sofastack.tech/sofa-boot/docs/Home
Apache License 2.0
4.92k stars 1.26k forks source link

sofa boot invoke question #1298

Open yuanChina opened 3 months ago

yuanChina commented 3 months ago

ComponentInfo注册的时候为什么都是ReferenceComponent不是ServiceComponent,调用的时候getTarget用的type=service进行调用,找不到,只能每次都去遍历查性能很差.这个是什么原因

HzjNeverStop commented 3 months ago

请详细描述下具体场景呢?例如哪行代码在什么场景下存在问题

yuanChina commented 3 months ago

问题是sofa boot 调用服务的时候 每次都会执行getBizInOrder 我们在想怎么可以绕过, 于是看到如果getTarget有返回值就可以绕过,但是这个getTarget的时候 需要根据type=service进行查找,但实际宿主注册的服务都是type=reference

HzjNeverStop commented 3 months ago

问题是sofa boot 调用服务的时候 每次都会执行getBizInOrder 我们在想怎么可以绕过, 于是看到如果getTarget有返回值就可以绕过,但是这个getTarget的时候 需要根据type=service进行查找,但实际宿主注册的服务都是type=reference

发起 JVM 调用注册的 type=reference,因此,你提供这个服务的地方注册的应该是 type=service 的组件

yuanChina commented 3 months ago

是的 那这种不一致?