powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / не совсем джава но вдруг. кафка.
25 сообщений из 258, страница 4 из 11
не совсем джава но вдруг. кафка.
    #40029940
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
vimba
пропущено...

Это простите распределение каких офсетов??? Офсет первого мессаджа в партиции? Офсет последнего мессаджа в партиции? Офсет который консумер закомитил? Офсет до которого консумер дочитал? Офсет последнего мессаджа который может быть прочитан(aka watermark)?

с каждым поллом и коммитом числа стремятся к нулю. то есть когда дошли до "конца" топика - стал ноль. 0-11 это партиции

Спешу вас огорчить это не офсеты. С комитами уменьшается consumer lag - что есть разница между верхней границей того что написал продьюсер и того что закомитил продьюсер . Я специально написал закомитил, а не обработал, потому что можно комитить не обрабатывая, более того даже не читая.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029941
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
Вау! Ты перевернул мир! ТС пол жизни отдал в борьбе с оффсетами)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029966
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
авторчто за..? загуглил на эту тему написали что да вот де бывает ребаланс и может скипануть. взял другой топик. там только одна партиция. тоже самое запустил шарманку. ничего не скипает.
Вам стыдно дать ссылку на ваш ответ по ребалансу?
И какой может быть ребаланс с ОДНОЙ партицией?
Два простых вопроса и совсем без кода)
"не мытьем, так катаньем" (с)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029969
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
по девятой партиции было 1.7 миллиона, а теперь 451к, за три минуты читая одним консамером с 12ти топиков по 1000 сообщений в секунду?

Это надо умудриться создать всего одного читателя на аж 10 партиций.

если ты чуть более внимателен был бы - то увидел бы что партиций 12. читателей значения нет сколько. 1 или 12. вернее есть. если читатель 1 то какой то волшебный процесс происходит чаще и мессаджей "теряется" больше.
если читателей 12 то иногда получается выгребсти почти 90% мессаджей. но это не тебе сказано. можешь не читать. )
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029971
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
пропущено...

с каждым поллом и коммитом числа стремятся к нулю. то есть когда дошли до "конца" топика - стал ноль. 0-11 это партиции

Спешу вас огорчить это не офсеты. С комитами уменьшается consumer lag - что есть разница между верхней границей того что написал продьюсер и того что закомитил продьюсер . Я специально написал закомитил, а не обработал, потому что можно комитить не обрабатывая, более того даже не читая.

эти числа я получаю так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    private void collectMaxPartitionsAndOffsets() {
        kafkaConsumer.partitionsFor(topic, pts -> {
            if (pts.succeeded()) {
                kafkaConsumer.endOffsets(pts.result().stream().map(p -> new TopicPartition().setTopic(topic).setPartition(p.getPartition())).collect(Collectors.toSet()),
                        res -> {
                            if (res.succeeded()) {
                                maxTopicOffsetsRegistry = res.result().entrySet().stream()
                                        .collect(Collectors.toConcurrentMap(
                                                e -> e.getKey().getPartition(),
                                                Map.Entry::getValue));
                                logger.info("Consumer={}, Added endOffset data for partitions registry={}", consumerId, maxTopicOffsetsRegistry);
                            }
                        }
                );
            }
            if (pts.failed()) {
                logger.error("Consumer={}. Failed to collect available partitions", consumerId);
                pts.cause().printStackTrace();
            }
        });
    }



а получаю текущее значение оффсетов по партициям так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  consumer.partitionsFor(topic, pts -> {
            if (pts.succeeded()) {
                Set<TopicPartition> topicPartitions = pts.result().stream().map(p -> new TopicPartition().setTopic(topic).setPartition(p.getPartition())).collect(Collectors.toSet());
                topicPartitions.forEach(tp -> {
                    consumer.committed(tp, cmt -> {
                        if (cmt.succeeded()) {
                            Long committedOffset = cmt.result().getOffset();
                            Integer topicPartition = tp.getPartition();
                            committedPartitionOffsets.put(topicPartition, committedOffset);
                        }
                        if (cmt.failed()) {
                            logger.error("Failed to fetch commited partitions list");
                            cmt.cause().printStackTrace();
                        }
                    });
                });



эти числа сверху что бы они не показывали они показывают то сколько осталось мессаджей до того момента когда консамеры стали слушать топик.

и да. когда оно доходит до нуля (плюс-минус несколько сообщений) - далее движения никакого НЕТ. то есть полл проходит - сообщений ноль. я пробовал ставить в бесконечность - та же фигня.
что бы это ни было как бы это ни было. когда оно становится нулем новые сообщения не выгребаются. до тех пор пока их кто нибудь не запостит в топик.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029973
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029982
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
пропущено...

Это надо умудриться создать всего одного читателя на аж 10 партиций.

если ты чуть более внимателен был бы - то увидел бы что партиций 12. читателей значения нет сколько. 1 или 12. вернее есть. если читатель 1 то какой то волшебный процесс происходит чаще и мессаджей "теряется" больше.
если читателей 12 то иногда получается выгребсти почти 90% мессаджей. но это не тебе сказано. можешь не читать. )

Бред какой то))
Повторюсь:
авторРано тебе до кафки.
Надо два читателя в одной группе + 2 партишена + выкл автокоммита + коммит ручками +логирование + прямые руки.
Иди работай!
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029988
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда у меня не работает кастомная конфигурация - я переключаюсь на дефолтную.

Потом осторожно. Параметр за параметром начинаю применять изменения.

Да - современные системы - сложные как ракета. И их конечно можно ушатать
конфигурациями. Но должен-же быть какой-то итеративный процесс внесения
изменений.

Даже архитекторы и кафка-саппорт не сделают диагностику по самому факту
потери сообщений. Им нужны дампы памяти и стек-трейсы всех работающих
потоков. Нужны счетчики событий по JMX компонентам. Нужны снапшоты
с операционной системы по статистике TCP/IP.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030000
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?

Что значит как? Берёшь и дергаешь commit на консумере передавая как параметр смещения в партициях которое хочешь закомитить. Более того можно комитить не то что не читая, можно комитить мессаджи которые даже ещё не записаны продьюсером, тобишь комитить наперёд. Внимательно читайте документацию к технологии которую используете.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030020
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается наш дорогой сквернослов ТС не разобрался в коммитах.
Кроме того не слушал советы другого форума про ребаланс.
В своем коде (мы его не видим) не делал коммитов и кафка посчитала что клиент мёртв/отвалился. Следовательно сделала ребаланс партишенов.
Появились дырки в оффсетах и ТС заклинило от них.
Это догадки так как кода нет уже 4 страницы.
Наш форум самый терпеливый (с)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030075
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?

Что значит как? Берёшь и дергаешь commit на консумере передавая как параметр смещения в партициях которое хочешь закомитить. Более того можно комитить не то что не читая, можно комитить мессаджи которые даже ещё не записаны продьюсером, тобишь комитить наперёд. Внимательно читайте документацию к технологии которую используете.

ээээ. в вертиксе коммит передается без параметра. окей спасибо уточню. я думаю оно само знает текущие прочитанные оффсеты и их и засылает.

возможно вы правы и это вообще косяк вертикса.

я пробовал выбрать автокоммит. ничего не изменилось в поведении.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030076
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Получается наш дорогой сквернослов ТС не разобрался в коммитах.
Кроме того не слушал советы другого форума про ребаланс.
В своем коде (мы его не видим) не делал коммитов и кафка посчитала что клиент мёртв/отвалился. Следовательно сделала ребаланс партишенов.
Появились дырки в оффсетах и ТС заклинило от них.
Это догадки так как кода нет уже 4 страницы.
Наш форум самый терпеливый (с)

если ты хотя бы посмотришь код выше то увидишь что коммит происходит по факту успешного получения и процессинга мессаджей.
собссно то о чем я и говорил. выкладывать портки кода смысла нет - их никто не читает. и ты это подтвердил.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030077
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>я пробовал
Кто ж тебе поверит?))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030078
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
Получается наш дорогой сквернослов ТС не разобрался в коммитах.
Кроме того не слушал советы другого форума про ребаланс.
В своем коде (мы его не видим) не делал коммитов и кафка посчитала что клиент мёртв/отвалился. Следовательно сделала ребаланс партишенов.
Появились дырки в оффсетах и ТС заклинило от них.
Это догадки так как кода нет уже 4 страницы.
Наш форум самый терпеливый (с)

если ты хотя бы посмотришь код выше то увидишь что коммит происходит по факту успешного получения и процессинга мессаджей.
собссно то о чем я и говорил. выкладывать портки кода смысла нет - их никто не читает. и ты это подтвердил.

Мы остановились на логировании.
А я ленивых прогеров не обслуживаю.
Ссылку как тебя послали на другом форуме ты тоже не дал.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030081
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так игнорируй меня. я же тебе это предложил еще вчера?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030082
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?

Что значит как? Берёшь и дергаешь commit на консумере передавая как параметр смещения в партициях которое хочешь закомитить. Более того можно комитить не то что не читая, можно комитить мессаджи которые даже ещё не записаны продьюсером, тобишь комитить наперёд. Внимательно читайте документацию к технологии которую используете.

да. нашел метод коммита где явно надо указывать партицию и оффсеты. пожалуй, попробую явным образом.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030083
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
так игнорируй меня. я же тебе это предложил еще вчера?
после демки. У тебя плохо с памятью.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030129
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал ручные коммиты с вытаскиванием оффсета из рекорда и отсылкой оффсета коммитом назад. запустил. смотрю. жду.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030139
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
та же хрень.

читаю рекорды при полле. у рекорда оффсет 1.2.3.4.5.6.7.8.2001.2002.2003.2004.50001.50002.50003.....52333.1000001.1000002..
коммичу естественно 1 к 1 то что прочитал.
при полле прилетают оффсеты с прыжками.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030142
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Ребаланс был или нет, чучело.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030145
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTзагуглил на эту тему написали что да вот де бывает ребаланс
10 дней назад наш молодой прогер написал.
Дальше он две недели стонет и за петей гоняется
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030164
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче качаю все мессаджи в файл. посчитаю по файлу должно быть порядка ста лямов. есби будет сто лямов значит вертикс на помойку.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030168
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в середине лекции Алименков предлагает различные сценарии по улучшению взаимодействия JMS систем.

YouTube Video
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030170
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
передача ключей мессаджей это один из стандартных шаблонов интеграции. ничего особо нового :)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030180
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты уже реализовал передачу пачек?
...
Рейтинг: 0 / 0
25 сообщений из 258, страница 4 из 11
Форумы / Java [игнор отключен] [закрыт для гостей] / не совсем джава но вдруг. кафка.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]