You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by Zixuan Liu <no...@gmail.com> on 2023/02/14 09:35:24 UTC

[DISCUSS] Using jetty-client instead of async-http-client

Hi all,

Our admin-client using the async-http-client [0] to request the web
service, the async-http-client implements network request based on the
netty, which has very good performance, but this project is not very active.

For security(library) reason or http feature(Follow up on future
development), could we migrate to the jetty-client [1] from the
async-http-client? The jetty project is very active, our web service is
built based on the jetty-server, so I think use the jett-client is a good
idea, but migrating this can be a lot of work.

Please let me know what you think.

[0] - https://github.com/AsyncHttpClient/async-http-client
[1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x

Thanks,
Zixuan

Re: [DISCUSS] Using jetty-client instead of async-http-client

Posted by Zixuan Liu <no...@gmail.com>.
Hi all,

Thank your for your point!

Closed now.

Thanks,
Zixuan



Matteo Merli <ma...@gmail.com> 于2023年2月18日周六 06:36写道:

> Async-http-client has always been super-stable in the past and is being
> used by many other Java projects. I don't see any risk of being abandoned.
> The fact that activity was quiet is mostly related to this project being
> "complete" from a feature standpoint (which is good).
>
> The alternatives are really not "async" and would cause a lot of
> performance regressions and other headaches.
>
>
> --
> Matteo Merli
> <ma...@gmail.com>
>
>
> On Thu, Feb 16, 2023 at 5:52 AM Asaf Mesika <as...@gmail.com> wrote:
>
> > Oh. I looked at the commits, it seems pretty active to me.
> >
> >
> > On Thu, Feb 16, 2023 at 3:31 PM Zixuan Liu <no...@gmail.com> wrote:
> >
> > > I point to async-http-client.
> > >
> > > Although there is a recent update.
> > >
> > > Thanks,
> > > Zixuan
> > >
> > > Asaf Mesika <as...@gmail.com> 于2023年2月16日周四 21:19写道:
> > >
> > > > On Tue, Feb 14, 2023 at 11:36 AM Zixuan Liu <no...@gmail.com>
> wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > Our admin-client using the async-http-client [0] to request the web
> > > > > service, the async-http-client implements network request based on
> > the
> > > > > netty, which has very good performance, but this project is not
> very
> > > > > active.
> > > > >
> > > >
> > > > Netty - the most used network server in the world - is not very
> active?
> > > >
> > > >
> > > > >
> > > > > For security(library) reason or http feature(Follow up on future
> > > > > development), could we migrate to the jetty-client [1] from the
> > > > > async-http-client? The jetty project is very active, our web
> service
> > is
> > > > > built based on the jetty-server, so I think use the jett-client is
> a
> > > good
> > > > > idea, but migrating this can be a lot of work.
> > > > >
> > > > > Please let me know what you think.
> > > > >
> > > > > [0] - https://github.com/AsyncHttpClient/async-http-client
> > > > > [1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x
> > > > >
> > > > > Thanks,
> > > > > Zixuan
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Using jetty-client instead of async-http-client

Posted by Matteo Merli <ma...@gmail.com>.
Async-http-client has always been super-stable in the past and is being
used by many other Java projects. I don't see any risk of being abandoned.
The fact that activity was quiet is mostly related to this project being
"complete" from a feature standpoint (which is good).

The alternatives are really not "async" and would cause a lot of
performance regressions and other headaches.


--
Matteo Merli
<ma...@gmail.com>


On Thu, Feb 16, 2023 at 5:52 AM Asaf Mesika <as...@gmail.com> wrote:

> Oh. I looked at the commits, it seems pretty active to me.
>
>
> On Thu, Feb 16, 2023 at 3:31 PM Zixuan Liu <no...@gmail.com> wrote:
>
> > I point to async-http-client.
> >
> > Although there is a recent update.
> >
> > Thanks,
> > Zixuan
> >
> > Asaf Mesika <as...@gmail.com> 于2023年2月16日周四 21:19写道:
> >
> > > On Tue, Feb 14, 2023 at 11:36 AM Zixuan Liu <no...@gmail.com> wrote:
> > >
> > > > Hi all,
> > > >
> > > > Our admin-client using the async-http-client [0] to request the web
> > > > service, the async-http-client implements network request based on
> the
> > > > netty, which has very good performance, but this project is not very
> > > > active.
> > > >
> > >
> > > Netty - the most used network server in the world - is not very active?
> > >
> > >
> > > >
> > > > For security(library) reason or http feature(Follow up on future
> > > > development), could we migrate to the jetty-client [1] from the
> > > > async-http-client? The jetty project is very active, our web service
> is
> > > > built based on the jetty-server, so I think use the jett-client is a
> > good
> > > > idea, but migrating this can be a lot of work.
> > > >
> > > > Please let me know what you think.
> > > >
> > > > [0] - https://github.com/AsyncHttpClient/async-http-client
> > > > [1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x
> > > >
> > > > Thanks,
> > > > Zixuan
> > > >
> > >
> >
>

Re: [DISCUSS] Using jetty-client instead of async-http-client

Posted by Asaf Mesika <as...@gmail.com>.
Oh. I looked at the commits, it seems pretty active to me.


On Thu, Feb 16, 2023 at 3:31 PM Zixuan Liu <no...@gmail.com> wrote:

> I point to async-http-client.
>
> Although there is a recent update.
>
> Thanks,
> Zixuan
>
> Asaf Mesika <as...@gmail.com> 于2023年2月16日周四 21:19写道:
>
> > On Tue, Feb 14, 2023 at 11:36 AM Zixuan Liu <no...@gmail.com> wrote:
> >
> > > Hi all,
> > >
> > > Our admin-client using the async-http-client [0] to request the web
> > > service, the async-http-client implements network request based on the
> > > netty, which has very good performance, but this project is not very
> > > active.
> > >
> >
> > Netty - the most used network server in the world - is not very active?
> >
> >
> > >
> > > For security(library) reason or http feature(Follow up on future
> > > development), could we migrate to the jetty-client [1] from the
> > > async-http-client? The jetty project is very active, our web service is
> > > built based on the jetty-server, so I think use the jett-client is a
> good
> > > idea, but migrating this can be a lot of work.
> > >
> > > Please let me know what you think.
> > >
> > > [0] - https://github.com/AsyncHttpClient/async-http-client
> > > [1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x
> > >
> > > Thanks,
> > > Zixuan
> > >
> >
>

Re: [DISCUSS] Using jetty-client instead of async-http-client

Posted by Zixuan Liu <no...@gmail.com>.
I point to async-http-client.

Although there is a recent update.

Thanks,
Zixuan

Asaf Mesika <as...@gmail.com> 于2023年2月16日周四 21:19写道:

> On Tue, Feb 14, 2023 at 11:36 AM Zixuan Liu <no...@gmail.com> wrote:
>
> > Hi all,
> >
> > Our admin-client using the async-http-client [0] to request the web
> > service, the async-http-client implements network request based on the
> > netty, which has very good performance, but this project is not very
> > active.
> >
>
> Netty - the most used network server in the world - is not very active?
>
>
> >
> > For security(library) reason or http feature(Follow up on future
> > development), could we migrate to the jetty-client [1] from the
> > async-http-client? The jetty project is very active, our web service is
> > built based on the jetty-server, so I think use the jett-client is a good
> > idea, but migrating this can be a lot of work.
> >
> > Please let me know what you think.
> >
> > [0] - https://github.com/AsyncHttpClient/async-http-client
> > [1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x
> >
> > Thanks,
> > Zixuan
> >
>

Re: [DISCUSS] Using jetty-client instead of async-http-client

Posted by Asaf Mesika <as...@gmail.com>.
On Tue, Feb 14, 2023 at 11:36 AM Zixuan Liu <no...@gmail.com> wrote:

> Hi all,
>
> Our admin-client using the async-http-client [0] to request the web
> service, the async-http-client implements network request based on the
> netty, which has very good performance, but this project is not very
> active.
>

Netty - the most used network server in the world - is not very active?


>
> For security(library) reason or http feature(Follow up on future
> development), could we migrate to the jetty-client [1] from the
> async-http-client? The jetty project is very active, our web service is
> built based on the jetty-server, so I think use the jett-client is a good
> idea, but migrating this can be a lot of work.
>
> Please let me know what you think.
>
> [0] - https://github.com/AsyncHttpClient/async-http-client
> [1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x
>
> Thanks,
> Zixuan
>

Re: [DISCUSS] Using jetty-client instead of async-http-client

Posted by Zixuan Liu <no...@gmail.com>.
Hi Enrico,

> Also we can do this kind of changes only on a major release, say 3.0.0
or 3.1.0 but this is not a big problem.

Sure, we can only make this change on the major release.

> I wonder if we could use the Java HTTP client that is available on
modern JDKs in case we switch to requiring JDK11 on the client
Less dependencies is always a good choice for many reasons

For Pulsar 3.x, if all components use the JDK 11, I would switch the HTTP
client to the JDK HttpClient from the async-http-client.

Right now, the admin/client compiler is JDK 8,  for Pulsar 3.x, I suggest
we should upgrade this compiler to JDK 11 to keep up with the modern JDKs.

Thank you for your idea!

Thanks,
Zixuan

Enrico Olivelli <eo...@gmail.com> 于2023年2月14日周二 18:01写道:

> Zixuan,
>
> Il giorno mar 14 feb 2023 alle ore 10:36 Zixuan Liu
> <no...@gmail.com> ha scritto:
> >
> > Hi all,
> >
> > Our admin-client using the async-http-client [0] to request the web
> > service, the async-http-client implements network request based on the
> > netty, which has very good performance, but this project is not very
> active.
> >
> > For security(library) reason or http feature(Follow up on future
> > development), could we migrate to the jetty-client [1] from the
> > async-http-client? The jetty project is very active, our web service is
> > built based on the jetty-server, so I think use the jett-client is a good
> > idea, but migrating this can be a lot of work.
>
> I think that this makes sense.
> We will have to do it very carefully, especially when dealing with errors.
> A new library may report errors in a slightly different way and that
> may have an impact.
>
> Also we can do this kind of changes only on a major release, say 3.0.0
> or 3.1.0 but this is not a big problem
>
> Users that use the non-shaded Pulsar client dependencies will have to
> deal with this change, but it is doable
>
> I wonder if we could use the Java HTTP client that is available on
> modern JDKs in case we switch to requiring JDK11 on the client
> Less dependencies is always a good choice for many reasons
>
> Enrico
>
>
>
> >
> > Please let me know what you think.
> >
> > [0] - https://github.com/AsyncHttpClient/async-http-client
> > [1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x
> >
> > Thanks,
> > Zixuan
>

Re: [DISCUSS] Using jetty-client instead of async-http-client

Posted by Enrico Olivelli <eo...@gmail.com>.
Zixuan,

Il giorno mar 14 feb 2023 alle ore 10:36 Zixuan Liu
<no...@gmail.com> ha scritto:
>
> Hi all,
>
> Our admin-client using the async-http-client [0] to request the web
> service, the async-http-client implements network request based on the
> netty, which has very good performance, but this project is not very active.
>
> For security(library) reason or http feature(Follow up on future
> development), could we migrate to the jetty-client [1] from the
> async-http-client? The jetty project is very active, our web service is
> built based on the jetty-server, so I think use the jett-client is a good
> idea, but migrating this can be a lot of work.

I think that this makes sense.
We will have to do it very carefully, especially when dealing with errors.
A new library may report errors in a slightly different way and that
may have an impact.

Also we can do this kind of changes only on a major release, say 3.0.0
or 3.1.0 but this is not a big problem

Users that use the non-shaded Pulsar client dependencies will have to
deal with this change, but it is doable

I wonder if we could use the Java HTTP client that is available on
modern JDKs in case we switch to requiring JDK11 on the client
Less dependencies is always a good choice for many reasons

Enrico



>
> Please let me know what you think.
>
> [0] - https://github.com/AsyncHttpClient/async-http-client
> [1] - https://github.com/eclipse/jetty.project/tree/jetty-9.4.x
>
> Thanks,
> Zixuan