java分布式缓存实现低延迟、高可用性
我从未使用过分布式缓存/DHT,如memcached、jboss缓存、ehcache等。我想知道哪种(如果有的话)适合我使用 首先,我不做web应用程序(因为这些项目中的大多数似乎都是面向web应用程序的)。我为金融交易公司编写服务器(实际上是订单管理系统)。服务器本身并不太复杂。他们需要接收信息(市场数据、订单、执行情况等),并将其发送到目的地,同时可能转换其中一些信息 我正在研究这些产品,以解决以下问题:java分布式缓存实现低延迟、高可用性,java,caching,dht,trading,Java,Caching,Dht,Trading,我从未使用过分布式缓存/DHT,如memcached、jboss缓存、ehcache等。我想知道哪种(如果有的话)适合我使用 首先,我不做web应用程序(因为这些项目中的大多数似乎都是面向web应用程序的)。我为金融交易公司编写服务器(实际上是订单管理系统)。服务器本身并不太复杂。他们需要接收信息(市场数据、订单、执行情况等),并将其发送到目的地,同时可能转换其中一些信息 我正在研究这些产品,以解决以下问题: 服务器状态的安全存储库。我宁愿将应用程序的逻辑构建为一组转换器(类似于ApacheC
- 服务器状态的安全存储库。我宁愿将应用程序的逻辑构建为一组转换器(类似于ApacheCamel),并将状态存储在“安全”的地方
- 这个存储库应该是分布式的:如果其中一个数据存储崩溃,应该有一个或两个以上的存储库,我应该能够无缝地切换到它们
- 这个存储库应该很快。这里的单位毫秒数,换句话说,使用/处理这些数据的系统是自动化系统,而不是人类点击链接。该系统需要具有高吞吐量和低延迟。通过将数据发送到进程之外,我必然会降低性能,但我试图平衡绝对原始速度和绝对数据保护
- 此存储库应该是安全的。与多个在线备份类似,此系统需要将数据写入磁盘(可能不止一个磁盘)
谢谢很多金融机构都在为此使用Oracle Concertence
但是,它不会匹配您列表中的所有点。我相信,JBoss缓存对于您的目的来说已经足够好了:
- 快速
- 分布的
- 使用MVCC实现的事务性(无读取锁定)
- 支持JTA
- 支持异步模式
- 将数据逐出到持久性存储(jdbc、bdb等)
Hazelcast实际上不仅仅是一个分布式缓存;它是Java的队列、主题、映射、多重映射、锁、执行器服务的分布式实现。这里有一些很好的免费解决方案。但是,如果您需要更快的解决方案,您可以尝试或选择具有低于100微秒延迟的可靠/有保证的消息传递解决方案。我建议您这样做,原因如下:
- 支持.NET和java
- 广泛的拓扑结构
- 无需更改代码
- 高度分布式和可扩展性
- 绝对免费(NCache Express)