我可以从 AeronCluster 有 2 个不同的 Egress 吗?
问问题
109 次
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 回答