Allow the client presence manager to use an entirely separate cluster.

This commit is contained in:
Jon Chambers 2021-01-16 02:39:27 -05:00 committed by Jon Chambers
parent f7217944e7
commit 00b5cfcf17
2 changed files with 11 additions and 2 deletions

View File

@ -112,6 +112,11 @@ public class WhisperServerConfiguration extends Configuration {
@JsonProperty @JsonProperty
private MessageCacheConfiguration messageCache; private MessageCacheConfiguration messageCache;
@NotNull
@Valid
@JsonProperty
private RedisClusterConfiguration clientPresenceCluster;
@Valid @Valid
@NotNull @NotNull
@JsonProperty @JsonProperty
@ -274,6 +279,10 @@ public class WhisperServerConfiguration extends Configuration {
return messageCache; return messageCache;
} }
public RedisClusterConfiguration getClientPresenceClusterConfiguration() {
return clientPresenceCluster;
}
public RedisConfiguration getPushScheduler() { public RedisConfiguration getPushScheduler() {
return pushScheduler; return pushScheduler;
} }

View File

@ -283,7 +283,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
ClientResources generalCacheClientResources = ClientResources.builder().build(); ClientResources generalCacheClientResources = ClientResources.builder().build();
ClientResources messageCacheClientResources = ClientResources.builder().ioThreadPoolSize(128).build(); ClientResources messageCacheClientResources = ClientResources.builder().ioThreadPoolSize(128).build();
ClientResources presenceClientResources = ClientResources.builder().ioThreadPoolSize(128).build(); ClientResources presenceClientResources = ClientResources.builder().build();
ClientResources metricsCacheClientResources = ClientResources.builder().build(); ClientResources metricsCacheClientResources = ClientResources.builder().build();
ConnectionEventLogger.logConnectionEvents(generalCacheClientResources); ConnectionEventLogger.logConnectionEvents(generalCacheClientResources);
@ -293,7 +293,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
FaultTolerantRedisCluster cacheCluster = new FaultTolerantRedisCluster("main_cache_cluster", config.getCacheClusterConfiguration(), generalCacheClientResources); FaultTolerantRedisCluster cacheCluster = new FaultTolerantRedisCluster("main_cache_cluster", config.getCacheClusterConfiguration(), generalCacheClientResources);
FaultTolerantRedisCluster messagesCluster = new FaultTolerantRedisCluster("message_insert_cluster", config.getMessageCacheConfiguration().getRedisClusterConfiguration(), messageCacheClientResources); FaultTolerantRedisCluster messagesCluster = new FaultTolerantRedisCluster("message_insert_cluster", config.getMessageCacheConfiguration().getRedisClusterConfiguration(), messageCacheClientResources);
FaultTolerantRedisCluster clientPresenceCluster = new FaultTolerantRedisCluster("client_presence_cluster", config.getMessageCacheConfiguration().getRedisClusterConfiguration(), presenceClientResources); FaultTolerantRedisCluster clientPresenceCluster = new FaultTolerantRedisCluster("client_presence_cluster", config.getClientPresenceClusterConfiguration(), presenceClientResources);
FaultTolerantRedisCluster metricsCluster = new FaultTolerantRedisCluster("metrics_cluster", config.getMetricsClusterConfiguration(), metricsCacheClientResources); FaultTolerantRedisCluster metricsCluster = new FaultTolerantRedisCluster("metrics_cluster", config.getMetricsClusterConfiguration(), metricsCacheClientResources);
BlockingQueue<Runnable> keyspaceNotificationDispatchQueue = new ArrayBlockingQueue<>(10_000); BlockingQueue<Runnable> keyspaceNotificationDispatchQueue = new ArrayBlockingQueue<>(10_000);