After investigating the above three frameworks, none of them could fit
my needs, then I tried netty and implemented my needs on netty.

Now I am going to switch the framework of apisix-java-plugin-runner
from reactor-netty to netty.

I will be submitting a PR for review soon.

I would like to hear your suggestions.

*ZhengSong Tu*
My GitHub: https://github.com/tzssangglass
Apache APISIX: https://github.com/apache/apisix

tzssangglass <[email protected]> 于2021年12月15日周三 15:34写道:
>
> Hi folks,
>
> I'm implementing a new feature of apisix-java-plugin-runner[1]. I am
> having some problems.
>
> Now apisix-java-plugin-runner is based on reactor-netty[2] framework
> to implement Unix Domain Socket communication with APISIX.
>
> The role of apisix-java-plugin-runner is server-side and the role of
> APISIX is client-side. They worked well before.
>
> The problem I encountered while implementing the new feature is as follows:
>
> 1. request A enters apisix-java-plugin-runner and when processing
> request A, create request B to APISIX
> 2. get the response of request B from APISIX
> 3. continue processing request A, and retuen response to APISIX
>
> I have tried to implement step 1 and 2, but step3 is difficult and I
> can't interrupt processing request A due to the limitation of
> reactor-netty framework.
>
> I also tried to contact the developers of reactor-netty and they
> suggested me to choose a new framework[3].
>
> I've done some research and the current optional implementations are
>
> 1. rsocket-java: https://github.com/rsocket/rsocket-java
> 2. native Unix Domain Socket support based on JDK16:
> https://openjdk.java.net/jeps/380
> 3. junixsocket: https://github.com/kohlschutter/junixsocket
>
> At this stage I prefer to use the Unix Domain Socket support native to JDK16.
>
> I'm doing a POC on these frameworks.
>
> I hope to get your guidance.
>
> [1]https://github.com/apache/apisix-java-plugin-runner
> [2]https://github.com/reactor/reactor-netty
> [3]https://github.com/reactor/reactor-netty/issues/1916
>
>
>
> *ZhengSong Tu*
> My GitHub: https://github.com/tzssangglass
> Apache APISIX: https://github.com/apache/apisix

Reply via email to