Class SupervisorConfiguration
java.lang.Object
pl.allegro.tech.hermes.consumers.config.SupervisorConfiguration
@Configuration
@EnableConfigurationProperties({CommitOffsetProperties.class,KafkaClustersProperties.class,WorkloadProperties.class,CommonConsumerProperties.class})
public class SupervisorConfiguration
extends Object
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbalancingListener(ConsumerNodeLoadRegistry consumerNodeLoadRegistry, SubscriptionProfileRegistry subscriptionProfileRegistry, WorkloadProperties workloadProperties, CurrentLoadProvider currentLoadProvider, WeightedWorkloadMetricsReporter weightedWorkloadMetrics, Clock clock) clusterAssignmentCache(org.apache.curator.framework.CuratorFramework curator, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, SubscriptionIds subscriptionIds, ConsumerNodesRegistry consumerNodesRegistry, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) consumerAssignmentCache(org.apache.curator.framework.CuratorFramework curator, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) consumerAssignmentRegistry(org.apache.curator.framework.CuratorFramework curator, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) consumerFactory(ReceiverFactory messageReceiverFactory, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, CommonConsumerProperties commonConsumerProperties, ConsumerRateLimitSupervisor consumerRateLimitSupervisor, OutputRateCalculatorFactory outputRateCalculatorFactory, pl.allegro.tech.hermes.tracker.consumers.Trackers trackers, OffsetQueue offsetQueue, ConsumerMessageSenderFactory consumerMessageSenderFactory, pl.allegro.tech.hermes.domain.topic.TopicRepository topicRepository, MessageConverterResolver messageConverterResolver, MessageBatchFactory byteBufferMessageBatchFactory, pl.allegro.tech.hermes.common.message.wrapper.CompositeMessageContentWrapper compositeMessageContentWrapper, MessageBatchSenderFactory batchSenderFactory, ConsumerAuthorizationHandler consumerAuthorizationHandler, Clock clock, SubscriptionLoadRecordersRegistry subscriptionLoadRecordersRegistry) consumerNodeLoadRegistry(org.apache.curator.framework.CuratorFramework curator, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider, pl.allegro.tech.hermes.common.concurrent.ExecutorServiceFactory executorServiceFactory, Clock clock, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics) consumersExecutorService(CommonConsumerProperties commonConsumerProperties, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics) consumersRuntimeMonitor(ConsumersSupervisor consumerSupervisor, WorkloadSupervisor workloadSupervisor, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, SubscriptionsCache subscriptionsCache, WorkloadProperties workloadProperties) nonblockingConsumersSupervisor(CommonConsumerProperties commonConsumerProperties, ConsumersExecutorService executor, ConsumerFactory consumerFactory, OffsetQueue offsetQueue, ConsumerPartitionAssignmentState consumerPartitionAssignmentState, Retransmitter retransmitter, UndeliveredMessageLogPersister undeliveredMessageLogPersister, pl.allegro.tech.hermes.domain.subscription.SubscriptionRepository subscriptionRepository, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, ConsumerMonitor monitor, Clock clock, CommitOffsetProperties commitOffsetProperties) retransmitter(pl.allegro.tech.hermes.common.kafka.offset.SubscriptionOffsetChangeIndicator subscriptionOffsetChangeIndicator, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) subscriptionProfileRegistry(org.apache.curator.framework.CuratorFramework curator, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) targetWeightCalculator(WorkloadProperties workloadProperties, WeightedWorkloadMetricsReporter metricsReporter, Clock clock) weightedWorkloadMetrics(pl.allegro.tech.hermes.common.metric.MetricsFacade metrics) workBalancer(WorkloadProperties workloadProperties, Clock clock, CurrentLoadProvider currentLoadProvider, TargetWeightCalculator targetWeightCalculator) workloadSupervisor(pl.allegro.tech.hermes.domain.notifications.InternalNotificationsBus notificationsBus, ConsumerNodesRegistry consumerNodesRegistry, ConsumerAssignmentRegistry assignmentRegistry, ConsumerAssignmentCache consumerAssignmentCache, ClusterAssignmentCache clusterAssignmentCache, SubscriptionsCache subscriptionsCache, ConsumersSupervisor supervisor, pl.allegro.tech.hermes.common.admin.zookeeper.ZookeeperAdminCache adminCache, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.domain.workload.constraints.WorkloadConstraintsRepository workloadConstraintsRepository, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider, WorkBalancer workBalancer, BalancingListener balancingListener)
-
Constructor Details
-
SupervisorConfiguration
public SupervisorConfiguration()
-
-
Method Details
-
workloadSupervisor
@Bean(initMethod="start", destroyMethod="shutdown") public WorkloadSupervisor workloadSupervisor(pl.allegro.tech.hermes.domain.notifications.InternalNotificationsBus notificationsBus, ConsumerNodesRegistry consumerNodesRegistry, ConsumerAssignmentRegistry assignmentRegistry, ConsumerAssignmentCache consumerAssignmentCache, ClusterAssignmentCache clusterAssignmentCache, SubscriptionsCache subscriptionsCache, ConsumersSupervisor supervisor, pl.allegro.tech.hermes.common.admin.zookeeper.ZookeeperAdminCache adminCache, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.domain.workload.constraints.WorkloadConstraintsRepository workloadConstraintsRepository, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider, WorkBalancer workBalancer, BalancingListener balancingListener) -
workBalancer
@Bean public WorkBalancer workBalancer(WorkloadProperties workloadProperties, Clock clock, CurrentLoadProvider currentLoadProvider, TargetWeightCalculator targetWeightCalculator) -
consumerNodeLoadRegistry
@Bean(initMethod="start", destroyMethod="stop") public ConsumerNodeLoadRegistry consumerNodeLoadRegistry(org.apache.curator.framework.CuratorFramework curator, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider, pl.allegro.tech.hermes.common.concurrent.ExecutorServiceFactory executorServiceFactory, Clock clock, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics) -
targetWeightCalculator
@Bean public TargetWeightCalculator targetWeightCalculator(WorkloadProperties workloadProperties, WeightedWorkloadMetricsReporter metricsReporter, Clock clock) -
balancingListener
@Bean public BalancingListener balancingListener(ConsumerNodeLoadRegistry consumerNodeLoadRegistry, SubscriptionProfileRegistry subscriptionProfileRegistry, WorkloadProperties workloadProperties, CurrentLoadProvider currentLoadProvider, WeightedWorkloadMetricsReporter weightedWorkloadMetrics, Clock clock) -
currentLoadProvider
-
weightedWorkloadMetrics
@Bean public WeightedWorkloadMetricsReporter weightedWorkloadMetrics(pl.allegro.tech.hermes.common.metric.MetricsFacade metrics) -
subscriptionProfileRegistry
@Bean public SubscriptionProfileRegistry subscriptionProfileRegistry(org.apache.curator.framework.CuratorFramework curator, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) -
retransmitter
@Bean public Retransmitter retransmitter(pl.allegro.tech.hermes.common.kafka.offset.SubscriptionOffsetChangeIndicator subscriptionOffsetChangeIndicator, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) -
consumerFactory
@Bean public ConsumerFactory consumerFactory(ReceiverFactory messageReceiverFactory, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, CommonConsumerProperties commonConsumerProperties, ConsumerRateLimitSupervisor consumerRateLimitSupervisor, OutputRateCalculatorFactory outputRateCalculatorFactory, pl.allegro.tech.hermes.tracker.consumers.Trackers trackers, OffsetQueue offsetQueue, ConsumerMessageSenderFactory consumerMessageSenderFactory, pl.allegro.tech.hermes.domain.topic.TopicRepository topicRepository, MessageConverterResolver messageConverterResolver, MessageBatchFactory byteBufferMessageBatchFactory, pl.allegro.tech.hermes.common.message.wrapper.CompositeMessageContentWrapper compositeMessageContentWrapper, MessageBatchSenderFactory batchSenderFactory, ConsumerAuthorizationHandler consumerAuthorizationHandler, Clock clock, SubscriptionLoadRecordersRegistry subscriptionLoadRecordersRegistry) -
consumersExecutorService
@Bean public ConsumersExecutorService consumersExecutorService(CommonConsumerProperties commonConsumerProperties, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics) -
nonblockingConsumersSupervisor
@Bean public ConsumersSupervisor nonblockingConsumersSupervisor(CommonConsumerProperties commonConsumerProperties, ConsumersExecutorService executor, ConsumerFactory consumerFactory, OffsetQueue offsetQueue, ConsumerPartitionAssignmentState consumerPartitionAssignmentState, Retransmitter retransmitter, UndeliveredMessageLogPersister undeliveredMessageLogPersister, pl.allegro.tech.hermes.domain.subscription.SubscriptionRepository subscriptionRepository, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, ConsumerMonitor monitor, Clock clock, CommitOffsetProperties commitOffsetProperties) -
consumersRuntimeMonitor
@Bean(initMethod="start", destroyMethod="shutdown") public ConsumersRuntimeMonitor consumersRuntimeMonitor(ConsumersSupervisor consumerSupervisor, WorkloadSupervisor workloadSupervisor, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, SubscriptionsCache subscriptionsCache, WorkloadProperties workloadProperties) -
consumerAssignmentRegistry
@Bean public ConsumerAssignmentRegistry consumerAssignmentRegistry(org.apache.curator.framework.CuratorFramework curator, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) -
clusterAssignmentCache
@Bean public ClusterAssignmentCache clusterAssignmentCache(org.apache.curator.framework.CuratorFramework curator, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, SubscriptionIds subscriptionIds, ConsumerNodesRegistry consumerNodesRegistry, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider) -
consumerAssignmentCache
@Bean(initMethod="start", destroyMethod="stop") public ConsumerAssignmentCache consumerAssignmentCache(org.apache.curator.framework.CuratorFramework curator, WorkloadProperties workloadProperties, KafkaClustersProperties kafkaClustersProperties, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, SubscriptionIds subscriptionIds, pl.allegro.tech.hermes.infrastructure.dc.DatacenterNameProvider datacenterNameProvider)
-