2013-04-26 132 views
1

既然我有一個擁有多個節點的Cassandra集羣,那麼應該如何從我的Java代碼中選擇要連接的節點呢?顯然,我可以連接到任何節點,但要做到這一點最好的方法是什麼?將Kundera連接到Cassandra集羣

舉例來說,我一直在讀昆德拉起來,從我已經看到你定義像這樣的連接:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
    version="1.0"> 
    <persistence-unit name="myPersistenceUnit"> 
     <provider>com.impetus.kundera.ejb.KunderaPersistence</provider> 
     <properties> 
      <!-- 2nd level cache --> 
      <property name="kundera.nodes" value="localhost" /> 
      <property name="kundera.port" value="9160" /> 
      <property name="kundera.keyspace" value="Keyspace1" /> 
      <property name="sessionless" value="false" /> 
      <property name="kundera.client" value="com.impetus.kundera.client.PelopsClient" /> 
      <property name="kundera.annotations.scan.package" value="com.mypackage" />    
     </properties> 
    </persistence-unit> 
</persistence> 

的問題是,kundera.nodes接受一個單一的IP地址。有沒有辦法指定多個IP地址,以便如果一個節點出現故障,它會在我的集羣中嘗試另一個節點?

謝謝

回答

1

作爲一種變通方法,你可能想嘗試負載均衡,如HAProxy的迎合這樣的事情。 昆德拉團隊正在研究此功能,但在那段時間之前,您可以繼續使用這些解決方法。

-Vivek

+1

感謝,這個回答我的問題,這是尚未提供昆德拉。 – dev 2013-05-23 00:03:52