gpt4 book ai didi

java - 用于同步 RPC 调用的 JGroups 协议(protocol)

转载 作者:行者123 更新时间:2023-12-02 10:54:20 25 4
gpt4 key购买 nike

我们的集群由约 50 名成员组成,使用 JGroups 进行 1-2-1 RPC 调用(同步)。

一天内会发出数以万计的调用,完成时间在 10 毫秒到 1 小时之间。请求和响应大小范围为 0 到 100 MB。

我们的主机分散在不同的数据中心,因此使用TCP。

没有多播消息,只有同步 RPC 调用。

conf/tcp.xml 中的哪些协议(protocol)应与最新的 JGroups 版本一起使用?还有比 TCP_NIO 更好的东西吗?

最佳答案

which complete in the range of 10 ms to 1 hour.

如果 RPC 可能需要长达 1 小时,我认为同步 RPC 不是最佳选择;我宁愿建议切换到异步...或者,您可以调用返回 CompletableFuture 的 RPC,只要调用完成,就会调用其函数。这样做的优点是您不会阻塞池中的线程...

我将从 tcp.xml 开始,并根据需要进行更改。例如。将 max_threads 变量增加到 50,以容纳所有 50 个成员同时发送。

此外,考虑是否使用常规 RPC 或 OOB RPC:除非需要排序,否则 OOB RPC 可以并行传送,而常规 RPC(由同一发送者)则一对一传送。

如果不需要状态转移,请删除 BARRIERSTATE_TRANSFER

我建议编写一个简单的性能测试(或使用UPerf)并测量性能是否合适。我还会使用 probe.sh 来查看统计信息。

您可以在 JGroups 中调整很多东西,在这里列出所有措施会花费很长时间...

[1] http://www.jgroups.org/manual4/index.html#RpcDispatcher

关于java - 用于同步 RPC 调用的 JGroups 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51893908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com