具有第三方持久性的Apache Ignite JDBC和后写缓存策略

时间:2018-04-20 13:30:47

标签: java mysql caching jdbc ignite

我目前使用MySQL作为持久数据存储,我想在我的应用程序和MySQL之间引入数据网格层来处理数据库中断。我希望尽可能以非侵入方式对当前的应用程序结构进行。

Apache Ignite附带了两个与我的问题相关的功能:使用第三方持久性和自定义JDBC驱动程序的后写缓存策略。

我想将这两个功能结合起来如下:

  • 应用程序将使用Ignite JDBC驱动程序来保存数据。
  • Ignite将查询/更新内存中的数据,并将数据异步刷新到MySQL数据库(后写缓存策略)。
  • 当MySQL变得不可用时,Ignite将批量更新,直到MySQL恢复,并且仍将提供查询/更新,而不会影响客户端应用程序。

只有更改DataSource实现和配置Ignite缓存等配置更改才能进行此设置吗?

1 个答案:

答案 0 :(得分:1)

我不认为开箱即用的第3点。CacheStore实现(例如,CacheJdbcPojoStore)假定与底层数据库的连接是可靠的,可以是随时建立。后写机制以相同的方式工作,即它可以在内部缓冲区溢出时建立连接,发生超时,触发反压机制。

因此,您必须实现自己的CacheStore,它负责数据的累积,而MySQL数据库由于某种原因被禁用。

或许,以下链接会有所帮助: