Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Java] Allow aeron archive client to reside behind a proxy #1658

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

frantahaas
Copy link

Hey, I'm currently using following workaround to have an Aeron archive client running behind a loadbalancer in k8s. Essentially, the AeronArchive does not allow me to specify a different channel to receive (subscribe) data (locally) and another channel (loadbalancer) that I want the Archive to actually send data to.

Would you allow something similar to this get integrated into the mainline? Or suggest a proper solution for my use-case? Thanks a lot

@mikeb01
Copy link
Contributor

mikeb01 commented Sep 14, 2024

While the feature is still experimental, you can look at using ResponseChannels to connect to the Archive.

@frantahaas
Copy link
Author

frantahaas commented Sep 18, 2024

Thanks for the reply. So, I've looked at those tests and tried something out which works locally but didn't manage to get it working in k8s.

Our topology is following:

Client <--- Proxy <--- Archive
Client --------------> Archive

On the proxy, I've two ports open, one for the client control response 2022 and one for replay channel 2033.

How exactly am I supposed to configure the control on the Archive? In other terms, is the Archive supposed to have direct access to that uri? If so, does that actually help me in my case?

        final AeronArchive.Context aeronArchiveCtx = new AeronArchive.Context()
            .controlRequestChannel(archive.context().controlChannel())
            .controlResponseChannel("aeron:udp?control-mode=response|control=localhost/ClientIP/ProxyIP/ArchiveIP/:10002");

In my hack, I'm actually opening subscriptions on the Client's IP while sending Archive the Proxy's IP to publish response and replay to which gets fwded to Client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants