gpt4 book ai didi

ignite - Apache Ignite 的多个持久性存储

转载 作者:行者123 更新时间:2023-12-02 09:24:22 25 4
gpt4 key购买 nike

我有一个用例,我必须为我的 ignite 集群支持多个持久性存储,例如缓存 A1 应该从数据库 db1 启动,缓存 B1 应该从数据库 db2 启动。这可以完成吗?。在 ignite 配置 XML 中,我只能提供一个持久性存储详细信息,

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">

<!-- Datasource for Persistence. -->
<bean name="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:roc12c" />
<property name="username" value="test" />
<property name="password" value="test" />
</bean>

在我的 CacheStore 实现中,我只能访问此数据库,对吧?

最佳答案

我没有尝试过这个,但它是否与其他 bean 配置系统类似。您应该能够创建另一个具有不同名称和配置的 bean。然后在 A1B1 的缓存配置中指定不同的数据源。话虽这么说,我是在理论上猜测的。

您可能已经这样做了,但我无法从您的问题中看出。如果您选择以这种方式实现缓存https://apacheignite.readme.io/docs/persistent-store您绝对可以配置两个缓存以具有不同的数据源。这就是我目前实现多个缓存的方式。在我使用的缓存存储中,我专门指出要访问哪个数据库。

这是我使用的缓存配置。

    <property name="cacheConfiguration">
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<!-- Set a cache name. -->
<property name="name" value="recordData"/>
<property name="rebalanceMode" value="ASYNC"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="backups" value="1"/>
<!-- Enable Off-Heap memory with max size of 10 Gigabytes (0 for unlimited). -->
<property name="memoryMode" value="OFFHEAP_TIERED"/>
<property name="offHeapMaxMemory" value="0"/>
<property name="swapEnabled" value="false"/>

<property name="cacheStoreFactory">
<bean class="javax.cache.configuration.FactoryBuilder" factory-method="factoryOf">
<constructor-arg value="com.company.util.MyDataStore"/>
</bean>
</property>
<property name="readThrough" value="true"/>
<property name="writeThrough" value="true"/>

</bean>
</property>

关于ignite - Apache Ignite 的多个持久性存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39079223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com