繁体   English   中英

适用于Java和C ++对象的低延迟分布式缓存

[英]Low latency distributed cache for Java & C++ Object

[背景]

我正在研究一个用于信号分析/图像处理的java服务器端进程。 主服务器进程将接受来自用户的请求/输入参数(XML / Image)。 然后它将请求/输入分配给多个处理引擎。 处理引擎是用Java编写的。 他们将执行JNI调用以进行图像/信号处理。 他们将通过RMI进行沟通。

将使用不同的输入参数再次处理相同的请求,并且输入参数非常大(图像大小:1-2MB)。 我们不希望每次都将请求发送到处理引擎。 我们在处理引擎中缓存请求/输入。 JNI对象是有状态的,并且也保存在处理引擎中。 相同的计算将始终由相同的处理引擎计算。

[问题]

我们无法准确预测实时使用情况,工作量分布也不均匀。 由于相同的请求总是使用相同的处理引擎,因此某些处理引擎可能会过载而某些处理引擎处于空闲状态。

[需求]

以下是我想要实现的目标: - 动态工作负载分配:请求可以由不同的引擎处理。 - 数据的低延迟缓存(大型XML / Imagine):我们希望使用分布式缓存,而不是通过RMI将输入/数据发送到引擎。 - JNI对象也将存储在分布式缓存中并保持其状态

[题]

  1. 是否有适合我的要求的低延迟分布式缓存(特别是缓存JNI对象)?
  2. 我之前没有使用分布式缓存并查看Terracotta。 还有其他推荐吗?

感谢您的任何意见!

Ehcache在我工作的几个不同的网站很受欢迎。 我听说的指示是积极的,但他们的用例有点简单。 即便如此,缓存的项目也不会对缓存的性能产生任何影响,除非可能调整问题(并且您说过您的项目相当大)。

不明确的是你曾经说过你不想每次都发送参数,但是每个请求它们都不同。 试图缓存或绑定每次不同的东西对你没有帮助,你最好在这种情况下完全忘记缓存,并且只需要承担发送请求参数的开销。 也许我错过了什么!?

暂无
暂无

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

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