我从未使用过分布式缓存/DHT,如 memcached、jboss 缓存、ehcache 等。我想知道哪个(如果有的话)适合我使用。
首先,我不做 Web 应用程序(因为这些项目中的大多数似乎都面向 Web 应用程序)。我为金融交易公司编写服务器(实际上是订单管理系统)。服务器本身并不太复杂。他们需要接收信息(市场数据、订单、执行等),然后将其发送到目的地,同时可能会转换其中的一些消息。
我正在寻找这些产品来解决以下问题:
服务器状态的安全存储库。我宁愿将我的应用程序的逻辑构建为一堆转换器(类似于 Apache Camel)并将状态存储在“安全”的地方
这个存储库应该是分布式的:万一这些数据存储中的一个崩溃了,应该再增加一两个,我应该能够无缝切换到它们
这个存储库应该快。单位毫秒计算在这里,换句话说,消费/处理这些数据的系统是自动化系统,而不是人类点击链接。该系统需要具有高吞吐量和低延迟。通过将数据发送到进程之外,我必然会降低性能,但我正在尝试平衡绝对原始速度和数据的绝对保护。
这个存储库应该是安全的。类似于多次在线备份的观点,这个系统需要将数据写入磁盘(可能不止一个磁盘)。
我真的很想停止编写自己的“事务服务器”。我在研究诸如 jboss 缓存、ehcache 等项目是否正确?
谢谢
最佳答案
Hazelcast是用于 Java 的开源、事务性、分布式缓存解决方案。非常适合金融应用。它是在 Apache 许可下发布的。
Hazelcast 实际上不仅仅是一个分布式缓存;它是Java的队列、主题、映射、多映射、锁、执行器服务的分布式实现。
关于低延迟、高可用性的java分布式缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649398/