Example #1
0
 public ConsumerSetting()
 {
     BrokerConsumerIPEndPoint          = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5001);
     ConsumeThreadMaxCount             = 64;
     DefaultTimeoutMilliseconds        = 60 * 1000;
     RebalanceInterval                 = 1000 * 5;
     HeartbeatBrokerInterval           = 1000 * 5;
     UpdateTopicQueueCountInterval     = 1000 * 5;
     PersistConsumerOffsetInterval     = 1000 * 5;
     PullThresholdForQueue             = 10000;
     PullTimeDelayMillsWhenFlowControl = 3000;
     SuspendPullRequestMilliseconds    = 60 * 1000;
     PullRequestTimeoutMilliseconds    = 70 * 1000;
     RetryMessageInterval              = 3000;
     PullMessageBatchSize              = 32;
     MessageHandleMode                 = MessageHandleMode.Parallel;
     ConsumeFromWhere = ConsumeFromWhere.FirstOffset;
 }
Example #2
0
 public ConsumerSetting()
 {
     BrokerAddress                              = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5001);
     BrokerAdminAddress                         = new IPEndPoint(SocketUtils.GetLocalIPV4(), 5002);
     SocketSetting                              = new SocketSetting();
     ConsumeThreadMaxCount                      = Environment.ProcessorCount * 2;
     RebalanceInterval                          = 1000;
     HeartbeatBrokerInterval                    = 1000;
     UpdateTopicQueueCountInterval              = 1000;
     SendConsumerOffsetInterval                 = 1000;
     PullMessageFlowControlThreshold            = 1000;
     PullMessageFlowControlStepPercent          = 1;
     PullMessageFlowControlStepWaitMilliseconds = 1;
     SuspendPullRequestMilliseconds             = 60 * 1000;
     PullRequestTimeoutMilliseconds             = 70 * 1000;
     RetryMessageInterval                       = 100;
     PullMessageBatchSize                       = 32;
     ConsumeFromWhere                           = ConsumeFromWhere.LastOffset;
 }
        private long GetNextConsumeOffset(string topic, int queueId, string consumerGroup, ConsumeFromWhere consumerFromWhere)
        {
            var queueConsumedOffset = _offsetStore.GetConsumeOffset(topic, queueId, consumerGroup);
            if (queueConsumedOffset >= 0)
            {
                var queueCurrentOffset = _queueStore.GetQueueCurrentOffset(topic, queueId);
                return queueCurrentOffset < queueConsumedOffset ? queueCurrentOffset + 1 : queueConsumedOffset + 1;
            }

            if (consumerFromWhere == ConsumeFromWhere.FirstOffset)
            {
                var queueMinOffset = _queueStore.GetQueueMinOffset(topic, queueId);
                if (queueMinOffset < 0)
                {
                    return 0;
                }
                return queueMinOffset;
            }
            else
            {
                var queueCurrentOffset = _queueStore.GetQueueCurrentOffset(topic, queueId);
                if (queueCurrentOffset < 0)
                {
                    return 0;
                }
                return queueCurrentOffset + 1;
            }
        }
Example #4
0
        private long GetNextConsumeOffset(string topic, int queueId, string consumerGroup, ConsumeFromWhere consumerFromWhere)
        {
            var queueConsumedOffset = _offsetStore.GetConsumeOffset(topic, queueId, consumerGroup);

            if (queueConsumedOffset >= 0)
            {
                var queueCurrentOffset = _queueStore.GetQueueCurrentOffset(topic, queueId);
                return(queueCurrentOffset < queueConsumedOffset ? queueCurrentOffset + 1 : queueConsumedOffset + 1);
            }

            if (consumerFromWhere == ConsumeFromWhere.FirstOffset)
            {
                var queueMinOffset = _queueStore.GetQueueMinOffset(topic, queueId);
                if (queueMinOffset < 0)
                {
                    return(0);
                }
                return(queueMinOffset);
            }
            else
            {
                var queueCurrentOffset = _queueStore.GetQueueCurrentOffset(topic, queueId);
                if (queueCurrentOffset < 0)
                {
                    return(0);
                }
                return(queueCurrentOffset + 1);
            }
        }
        private long GetNextConsumeOffset(string topic, int queueId, string consumerGroup, ConsumeFromWhere consumerFromWhere)
        {
            var lastConsumedQueueOffset = _offsetManager.GetQueueOffset(topic, queueId, consumerGroup);

            if (lastConsumedQueueOffset >= 0)
            {
                var queueCurrentOffset = _queueService.GetQueueCurrentOffset(topic, queueId);
                return(queueCurrentOffset < lastConsumedQueueOffset ? queueCurrentOffset + 1 : lastConsumedQueueOffset + 1);
            }

            if (consumerFromWhere == ConsumeFromWhere.FirstOffset)
            {
                var queueMinOffset = _queueService.GetQueueMinOffset(topic, queueId);
                if (queueMinOffset < 0)
                {
                    queueMinOffset = 0;
                }
                return(queueMinOffset);
            }
            else
            {
                var queueCurrentOffset = _queueService.GetQueueCurrentOffset(topic, queueId);
                if (queueCurrentOffset < 0)
                {
                    queueCurrentOffset = 0;
                }
                else
                {
                    queueCurrentOffset++;
                }
                return(queueCurrentOffset);
            }
        }
        private long GetNextConsumeOffset(string topic, int queueId, string consumerGroup, ConsumeFromWhere consumerFromWhere)
        {
            var lastConsumedQueueOffset = _offsetManager.GetQueueOffset(topic, queueId, consumerGroup);
            if (lastConsumedQueueOffset >= 0)
            {
                var queueCurrentOffset = _queueService.GetQueueCurrentOffset(topic, queueId);
                return queueCurrentOffset < lastConsumedQueueOffset ? queueCurrentOffset + 1 : lastConsumedQueueOffset + 1;
            }

            if (consumerFromWhere == ConsumeFromWhere.FirstOffset)
            {
                var queueMinOffset = _queueService.GetQueueMinOffset(topic, queueId);
                if (queueMinOffset < 0)
                {
                    queueMinOffset = 0;
                }
                return queueMinOffset;
            }
            else
            {
                var queueCurrentOffset = _queueService.GetQueueCurrentOffset(topic, queueId);
                if (queueCurrentOffset < 0)
                {
                    queueCurrentOffset = 0;
                }
                else
                {
                    queueCurrentOffset++;
                }
                return queueCurrentOffset;
            }
        }