java - 我们如何获得集群中并发活动流的数量?
问题描述
我使用 java 套接字并在集群的节点之间传输数据,传输可以是树广播(主节点将数据发送到某些节点,然后它们将接收到的数据发送到其余节点),链广播(主节点按顺序向所有工作节点发送数据) , shuffle (所有节点同时交换数据)
传输只是使用 java serverSocket 和套接字通信的 2 个节点(master-worker 或 worker-worker)之间的流。
如何确定并发流的数量(集群中的活动流),以便我可以安排这些流并为每个流提供网络的一部分
网络带宽为 1 gb/s 套接字缓冲区为 8192 字节
这是一个插图
解决方案
您能做的最好的事情就是维护自己的数据结构,记录“流”,然后对它们进行计数。
Java API 没有提供一种方法来查找或计算所有打开的套接字,或者确定哪些套接字当前处于活动状态。即使在本机代码级别,它也可能难以处理。这仅在单个 JVM 中:您的集群中可能有多个 JVM。
推荐阅读
- java - 比较列表值并从一个列表中删除 - Groovy/Java
- java - 爪哇。在 Java 对象集合中对精确值进行分组和求和
- python - Python替换列得到IndexError:索引8超出轴0的范围,大小为8
- java - Kotlin 和 vs 代码
- excel - 识别一列中的重复项并将相应的数据移动到另一列
- python - 在 App Engine 中部署 Django 后出现 500 服务器错误
- javascript - Javascript:只返回一个空数组
- python - 如何使用 python 和 HTML 在网页上输出简单的文本文件?
- c++ - WXWidgets wxListCtrl 示例
- html - 删除小型设备(手机)上的边距空白