최근 Cassandra 유스 케이스에 Datastax Java 드라이버를 사용하기 시작했습니다 ... Cassandra에 읽기/쓰기 용으로 Datastax Java 드라이버를 사용할 것입니다 ...Cassandra Java 드라이버가 로컬 데이터 센터에만 쓸 최적 설정
Datastax Java 드라이버를 사용하여 성공적으로 Cassandra 연결을 만들 수 있습니다 ... 그러나 연결을 만드는 동안 Datastax Java 드라이버를 사용하여 더 나은 성능을 얻으려면 프로덕션 환경에서 사용해야하는 다른 설정이 있습니까? 카산드라?
/**
* Creating Cassandra connection using Datastax driver
*
*/
private DatastaxConnection() {
try{
builder = Cluster.builder();
builder.addContactPoint("some-node");
// Can anybody explain me what does below piece of code do?
builder.poolingOptions().setCoreConnectionsPerHost(
HostDistance.LOCAL,
builder.poolingOptions().getMaxConnectionsPerHost(HostDistance.LOCAL));
// And also what does below piece of code is doing?
cluster = builder
.withRetryPolicy(DowngradingConsistencyRetryPolicy.INSTANCE)
.withReconnectionPolicy(new ConstantReconnectionPolicy(100L))
.build();
StringBuilder s = new StringBuilder();
Set<Host> allHosts = cluster.getMetadata().getAllHosts();
for (Host h : allHosts) {
s.append("[");
s.append(h.getDatacenter());
s.append("-");
s.append(h.getRack());
s.append("-");
s.append(h.getAddress());
s.append("]");
}
System.out.println("Cassandra Cluster: " + s.toString());
session = cluster.connect("testdatastaxks");
} catch (NoHostAvailableException e) {
} catch (Exception e) {
}
}
내 최고 우선 순위는 다음과 같습니다 - 그것은 로컬 데이터 센터 카산드라 노드를해야합니다 연결 풀에서 그래서
- 필터 밖으로 카산드라는 .. 지역 데이터 센터에 기반을 노드.
- 일부 특정 설정에서 Datastax java 드라이버를 사용하는 동안 최상의 성능을 얻으십시오. 나는 특정 설정이 다른 환경에서 다를 수 있지만 모두가 Datastax 자바 드라이버를 사용하여 카산드라 연결을하는 동안 최적의 성능을 얻기 위해 수행하는 몇 가지 설정이있을 수 있다고 할 수 있습니다 알고
..
이전에 Astyanax에서 사용했던 것과 마찬가지로 TOKEN_AWARE를 사용해야합니다. ...
Datastax java 드라이버를 사용하는 동안 몇 가지 최상의 설정이 필요합니까?
'PoolingOptions'에서 'setLocalDataCenter'라는 setter 메소드가 로컬 데이터 센터에 대한 연결을 제한하지 않습니다.클라이언트는 실행중인 데이터 센터를 어떻게 알 수 있습니까? – vijay