我的流量不是很大。我通过 Jet 管道每 2 秒传输大约 400 KB 的数据。
我正在使用缓冲区映射通过以下配置通过事件日志启动流:
config.getMapEventJournalConfig(Constants.IMAP_TAGS_INFO_BUFFER)
.setEnabled(true)
.setCapacity(100)
.setTimeToLiveSeconds(10);
config.getMapEventJournalConfig(Constants.IMAP_TAGS_POSITIONS_BUFFER)
.setEnabled(true)
.setCapacity(100)
.setTimeToLiveSeconds(10);
管道开始于:
StreamStage<Map.Entry<String, List<TagPosition>>> sourceSteam = p.drawFrom(Sources.mapJournal(
Constants.IMAP_TAGS_POSITIONS_BUFFER,
Util.mapPutEvents(),
Util.mapEventToEntry(),
JournalInitialPosition.START_FROM_OLDEST))
缓冲区映射中新值的设置由 set() 方法执行,并替换旧值。
运行几个小时后,我的应用程序达到 xmlx 值,Hazelcast 将关闭。
您能否检查我是否有错误的配置,或者我应该更详细地分析我的应用程序?我目前的假设是,尽管设置了容量和生存时间,但事件的日志没有被清理。
提前致谢!
UPD:添加了堆转储和图表