2

我是 LMAX Disruptor 的新手,我正在探索在需要处理大量流量的多层异步项目中使用它。

向平台发送请求以发送 SMS,清除/检查请求是否存在简单错误并记录下来。

获取和分析与发送 SMS 的客户端相关的各种其他信息,并将其他参数添加到 SMS 信息中。

分析并选择正确的路由路径。然后根据 SMS-info 设置平台特定的协议参数并将其提交给路由器。

像这样,将有接收和处理 SMS 传递以记录、计费、重试和许多其他的流程。在每个阶段,程序流程中都会有并发或顺序执行。如果这是项目的高级视图,是否应使用 LMAX 中断器框架在各个模块之间进行通信(短信信息)?

如果是这样,需要创建多少中断器的右缓冲区?

如果我的理解是正确的,是否在不同的每个层/功能之间创建了新的环形缓冲区?

可以将 POJO 对象写入 ringbuffer 吗?如何将其应用于集群环境?尽管我阅读了一些文档并看过一些有关此框架的视频,但我无法使用此框架可视化解决方案。

任何指南/示例/可视图表/文档或您对此的想法都会对我有很大帮助。

4

1 回答 1

2

我们已经使用了disruptor,并将其用作实现高性能、可配置、并行执行流的库。

在给定的场景中,我可以看到两个环形缓冲区配置。一个用于发送 SMS,另一个用于接收 SMS。

如果您需要更复杂的配置,您还可以在发送端或接收端级联环形缓冲区。

SMS发送环形缓冲区配置可以有一个事件阶段流,类似 在此处输入图像描述 地接收部分也可以有一个阶段配置。

关于你关于 POJO 的问题。环形缓冲区具有事件桶的概念,其中可以将 POJO 作为负载进行处理,并且可以使用事件转换器来填充事件桶。

于 2013-08-19T06:49:35.230 回答