我正试图从不同的Java进程处理的多个部分重构信息流。请注意,我不产生流量,我只是读了一些关于它们的信息。在多个Java进程之间提供共享实体的解决方案
我已经尝试使用MySQL(MyISAM/InnoDB表)与插入重复密钥更新使用每个流的ID。我也尝试存储所有信息并在最后运行查询以获取完整信息。这些方法都不能产生所需的性能。
我正在寻找一种解决方案,可以让我在多个Java进程之间拥有一组共享对象。对象应该在运行之间保持一致,并且可以快速查找/更新(每秒> 100k查找/更新)。
我想了几个解决方案,包括:
- 的NoSQL:是这样的MongoDB,HBase的等
- 一个缓存解决方案一样的Ehcache,Memcached的等
的问题是我没有任何这些解决方案的经验。那么,你会推荐什么符合以下标准:
- 在单个系统上速度非常快。我提到的大部分应用程序都是为分布式系统构建的,但在这里并不是这样。
- 易学/使用(我希望能够为原型就在一天)
- 成熟的技术
- 免费用于商业目的使用
- 最好的开源
我怀疑你不会从这些库中获得每秒100K的更新。我写了一个更快的库,但它只支持一个作者,它需要很好地理解数据如何在内存中布局。 –