繁体   English   中英

可移植的持久性队列->上传器

[英]Portable persistance queue -> uploader

我需要实现一个磁盘支持的队列,该队列可以接受来自多个线程的实时概要分析数据,然后通过潜在的错误传输上传该数据。 最初针对Java,但长期而言,我们将需要在Objective-C,Flash,JavaScript中使用相同的机制。 针对Android Java和台式机。

这将包含在单个进程中,因此MQ解决方案可能已经淘汰。 性能是需要重点考虑的一点,这意味着我们需要牺牲一些可靠性才能获得性能。

架构图

我对两件事感到好奇:

  1. 根据上述架构,是否有任何可用技术可以完全或部分解决此问题?
  2. 鉴于最终目标是在不同平台上重新实现或理想地重新使用此机制,是否有任何方法可以轻松地用诸如Objective-C和Android Java的方式构建它?
  3. 这种架构看起来如何?

如果您想保留有限数量的数据(循环日志),并能够为其保留固定数量的持久性内存,那么最有效的解决方案是内存映射缓冲区 Persister只是几个缓冲区的高速缓存,同时服务于性能分析队列和上载器。

在其他平台上重新实现它时,该平台很可能没有映射功能。 在这种情况下,可以直接读取和写入缓冲区。 这可能比映射到内存效率低,但仍然不比其他解决方案(例如嵌入式数据库)低。

对于体系结构,当从持久性读取数据(或持久性需要什么吗?)时,该图不反映情况。 然后,性能分析队列实际上包含了整个数据(包括持久性数据),并且被称为性能分析队列的是主内存中的缓冲区,它们可以是不连续的,因此更好的名称是缓冲区高速缓存,而不是队列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM