java分布式缓存实现低延迟、高可用性

java分布式缓存实现低延迟、高可用性,java,caching,dht,trading,Java,Caching,Dht,Trading,我从未使用过分布式缓存/DHT,如memcached、jboss缓存、ehcache等。我想知道哪种(如果有的话)适合我使用 首先,我不做web应用程序(因为这些项目中的大多数似乎都是面向web应用程序的)。我为金融交易公司编写服务器(实际上是订单管理系统)。服务器本身并不太复杂。他们需要接收信息(市场数据、订单、执行情况等),并将其发送到目的地,同时可能转换其中一些信息 我正在研究这些产品,以解决以下问题: 服务器状态的安全存储库。我宁愿将应用程序的逻辑构建为一组转换器(类似于ApacheC

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

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

我正在研究这些产品,以解决以下问题:

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

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

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

  • 此存储库应该是安全的。与多个在线备份类似,此系统需要将数据写入磁盘(可能不止一个磁盘)

我真的不想再写我自己的“事务服务器”了。我研究jboss缓存、ehcache等项目对吗


谢谢

很多金融机构都在为此使用Oracle Concertence


但是,它不会匹配您列表中的所有点。

我相信,JBoss缓存对于您的目的来说已经足够好了:

  • 快速
  • 分布的
  • 使用MVCC实现的事务性(无读取锁定)
  • 支持JTA
  • 支持异步模式
  • 将数据逐出到持久性存储(jdbc、bdb等)
是一种面向Java的开源、事务性、分布式缓存解决方案。非常适合金融应用。它是根据Apache许可证发布的


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

这里有一些很好的免费解决方案。但是,如果您需要更快的解决方案,您可以尝试或选择具有低于100微秒延迟的可靠/有保证的消息传递解决方案。

我建议您这样做,原因如下:

  • 支持.NET和java
  • 广泛的拓扑结构
  • 无需更改代码
  • 高度分布式和可扩展性
  • 绝对免费(NCache Express)

看看它的高性能内存数据网格。它提供分布式缓存、对象查询和事件通知。它通过提供一致的本地缓存、将缓存数据分发到多个服务器以及复制缓存数据来满足您对低延迟和可靠性的要求。充分披露:我为Cacheonix工作。

@HaveAgess,这是一个好的观点,但是,一旦你有了低延迟连接,实现分布式缓存就相对简单。如果你想要的话,它还可以持久化缓存。我猜@Timmy适用于Alachisoft。这是一个.NET解决方案