I am trying to run a Basic Publisher/Subscriber pair on the same Multicast/Port. It works perfectly when the hosts are connected to the same Switch, but not if the subscriber is on a different Switch.
Publisher
java '-Daeron.sample.channel=aeron:udp?endpoint=224.0.1.1:40123|interface=192.168.1.0/24' -Daeron.sample.embeddedMediaDriver=true -cp ./lib/aeron-all-1.29.0.jar io.aeron.samples.BasicPublisher
Subscriber
java '-Daeron.sample.channel=aeron:udp?endpoint=224.0.1.1:40123|interface=192.168.9.0/24' -Daeron.sample.embeddedMediaDriver=true -cp ./lib/aeron-all-1.29.0.jar io.aeron.samples.BasicSubscriber
Since the hosts has multiple interfaces, I have explicitly tried to bind the Publisher/Subscriber to a specific interface, by defining the interface parameter as a part of the Channel Configuration.
Mulit-cast routes between the 2 boxes has been verified using iperf
Advertisement
Answer
I was able to make it work with adding a ttl config option.
Publisher
java '-Daeron.sample.channel=aeron:udp?endpoint=224.0.1.1:40123|interface=192.168.1.0/24|ttl=16' -Daeron.sample.embeddedMediaDriver=true -cp ./lib/aeron-all-1.29.0.jar io.aeron.samples.BasicPublisher
Subscriber
java '-Daeron.sample.channel=aeron:udp?endpoint=224.0.1.1:40123|interface=192.168.9.0/24|ttl=16' -Daeron.sample.embeddedMediaDriver=true -cp ./lib/aeron-all-1.29.0.jar io.aeron.samples.BasicSubscriber