kop icon indicating copy to clipboard operation
kop copied to clipboard

[FEATURE] Proxy support for KoP

Open jiazhai opened this issue 5 years ago • 7 comments

Proxy support for KoP.

  • #101 Create sub module in current code structure.

jiazhai avatar Dec 27 '19 06:12 jiazhai

Hi @jiazhai!

How did you plan to develop this feature? How can I help? :smile:

PierreZ avatar Jan 09 '20 08:01 PierreZ

Currently this is still in our backlog. and not start working on it in our side. If anyone is interested to contribute to this PR welcome to comments on this issue. And Pierre already did some investigation on this, Thanks for @PierreZ's help on this.

jiazhai avatar Jul 05 '20 04:07 jiazhai

@jiazhai @PierreZ is the Envoy proxy able to act like the Pulsar proxy on k8s ?

I mean, in Pulsar we have the "Pulsar proxy" that hides the complexity of the cluster inside k8s.

From the documentation I see that I should setup one Envoy proxy per each Pulsar broker, this is very awkward if you have a large Pulsar cluster, especially in case that the cluster is dynamically scaling up and down.

https://github.com/streamnative/kop/blob/master/docs/envoy-proxy.md

"For each broker with KoP enabled, a dependent Envoy proxy is required. Assuming that you have N brokers whose internal hostname is pulsar-broker-, where i is the broker ID that varies from 0 to N-1."

eolivelli avatar Aug 19 '21 08:08 eolivelli

@eolivelli Yes, not like Pulsar proxy, Envoy acts more like a sidecar. Currently we have no proxy for KoP like Pulsar proxy.

BewareMyPower avatar Aug 19 '21 08:08 BewareMyPower

@BewareMyPower @merlimat @jiazhai @PierreZ I have starting working on a Proxy for KOP. I have also sent a PIP to [email protected] in order to add protocol handlers in the Pulsar Proxy.

I will be happy to share my prototype and share my work upstream to this repository.

eolivelli avatar Aug 30 '21 14:08 eolivelli

@eolivelli It would be great to have protocol handlers support in the Pulsar Proxy.

BewareMyPower avatar Aug 30 '21 15:08 BewareMyPower

@jiazhai @BewareMyPower @PierreZ @sijie @merlimat I have created this design document for the proxy that I am implementing. https://github.com/streamnative/kop/issues/717

I have already implemented a working prototype, the performances with the proxy are the same as while using regular Pulsar proxy. I have also already implemented support for Token Auth.

I will be happy to contribute the prototype to this repository and continue the development directly here and not in my repo. This way it will be easier to maintain it and also to have more contributions.

eolivelli avatar Sep 08 '21 06:09 eolivelli