分布式流数据收集方案解析
1. 大规模数据收集问题
在处理大量订阅者的消息传递时,虽然可以以可扩展的方式执行,但当应用程序需要接受大量发布者时,容纳订阅者的代理可能会导致网络进程过载。这是因为每个发布者异步运行,节点在短时间内需要接收的消息数量最多可达发布者的数量。此外,由于结构化覆盖网络上数据转发的路径集中,一些发布者需要转发的消息数量比其他发布者更多,导致网络进程负载容易超过节点的容量。
2. 提出的 TBPS 方案
2.1 方法原理
为了解决大规模数据收集的问题,提出了 TBPS 方案,其核心思想是通过“消息合并”来减少大量消息的转发开销。一般来说,当需要传输的数据大小相同时,将多个数据项作为一个大的数据块发送比分成多个小的段发送性能更好。因此,将大量小消息合并成一个大消息可以减少消息传输时间。
2.1.1 实验结果
通过在云测试床上使用基于 Java 的消息框架进行的初步实验,测量了两个虚拟机之间的传输速度。实验环境的参数如下表所示:
| 参数 | 值 |
| — | — |
| 虚拟 CPU | 1 核心 / 2.1 GHz |
| 虚拟机数量 | 1 / 主机 |
| 内存 |2 Gbyte |
| 网络 | 1000 BASE - T |
| 操作系统 | Ubuntu 12.04 |
| 协议 | TCP/IP |
| 虚拟机管理程序 | KVM 3.5 |
实验结果表明,当消息大小较小时,网络速度受限;随着消息大小的增加,网络速度上升;当消息大小大于 16 kbyte 时,网络速度达
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



