-1

我可以从 AeronCluster 有 2 个不同的 Egress 吗?

4

1 回答 1

2

Aeron Cluster 只能有一个入口和出口通道。但是,您可以在 ClusteredService 中创建其他发布,例如:

public class FooService implements ClusteredService
{
    private Publication publication;
    private DirectBuffer someMessage;

    public void onStart(final Cluster cluster, final Image snapshotImage)
    {
        publication = cluster.aeron().addPublication("aeron:udp?endpoint=somewhere.com:2020", 10001);
    }

    public void onSessionMessage(
        final ClientSession session,
        final long timestamp,
        final DirectBuffer buffer,
        final int offset,
        final int length,
        final Header header)
    {
        publication.offer(someMessage);
    }

但是,在执行此操作时,您需要决定是只希望领导者发布还是希望所有节点发布,以及如何处理重复的消息。

于 2021-05-26T05:32:29.930 回答