java分布式缓存,实现低延迟,高可用性 [已关闭]

2022-09-01 19:17:25

我从来没有使用过分布式缓存/DHT,如memcached,jboss cache,ehcache等。我想知道哪个(如果有的话)适合我的使用。

首先,我不是在做Web应用程序(因为这些项目中的大多数似乎都是针对Web应用程序的)。我为金融交易公司编写服务器(实际上是订单管理系统)。服务器本身并不太复杂。他们需要接收信息(市场数据,订单,执行等),将它们路由到目的地,同时可能转换其中一些消息。

我正在考虑这些产品来解决以下问题:

  • 服务器状态的安全存储库。我宁愿将应用程序的逻辑构建为一堆转换器(类似于Apache Camel),并将状态存储在“安全”的地方。

  • 这个存储库应该是分布式的:如果其中一个数据存储崩溃,一两个应该启动,我应该能够无缝地切换到它们

  • 此存储库应该很快。在这里,个位数毫秒很重要,换句话说,使用/处理这些数据的系统是自动化系统,而不是人类点击链接。该系统需要具有高吞吐量低延迟。通过在进程之外发送数据,我必然会降低性能,但我试图在绝对原始速度和绝对数据保护之间取得平衡。

  • 此存储库应该是安全的。与有关多个联机备份的观点类似,此系统需要将数据写入磁盘(可能有多个磁盘)。

我真的很想停止编写自己的“交易服务器”。我正在研究诸如jboss缓存,ehcache等项目是否正确?

谢谢


答案 1

Hazelcast 是一个开源的、事务性的、分布式的 Java 缓存解决方案。非常适合金融应用。它是在Apache许可证下发布的。

Hazelcast实际上不仅仅是一个分布式缓存;它是Java的队列,主题,映射,多映射,锁定,执行器服务的分布式实现。


答案 2

许多金融机构都在使用Oracle Coherence来实现这一目标。

但是,它不会匹配列表中的所有积分。