Комментарии 6
Спасибо за текстовую версию моего доклада :). Пожалуй действительно стоит поработать над речью немного, поскольку читать это довольно тяжело :).
+3
Хороший вопрос про кафку. Вот только после пробы кафки автор доклада вернулся бы на свою схему. На большом потоке чтение из кафки становится проблемой.
И непонятно почему не юдп. Это логи, можно терять какую-то часть. Ценность невелика.
И непонятно почему не юдп. Это логи, можно терять какую-то часть. Ценность невелика.
0
Rsyslog. На самом деле мы его использовали как запасной вариант, для того чтобы можно было без дампа бинлога читать, но он не может в длинные строки, в принципе больше 4 килобайт не может записать. Сжатие данных точно так же самим надо делать. Чтение будет идти с файлов.
Позволю себе заметить, что rsyslog может принимать длинные строки по TCP (я лично слал чуть больше 128k и это не предел). По UDP и в Unix Datagram Socket можно слать столько, сколько ваша OS позволит (я слал 128k в юникс-сокет и это был дефолтный максимум в линуксе). Ваша проблема с 4k явно связана с отправляющей стороной. Например, вы слали через logger (тогда вам еще повезло) или из php (там размер output-буфера по умолчанию выставлен в 4k). На стороне rsyslog по умолчанию максимальный размер сообщения 8k (настраивается в конфиге).
Ну и отправлять из rsyslog вы можете хоть в тот же ClickHouse (omclickhouse), хотя реализовано это было всего год назад, если мне память не изменяет. Правда, в идеале, там бы еще напильником пройтись и заменить INSERT INTO на COPY.
0
Я выше, конечно же, наврал про максимальный размер в случае UDP. Оно там ограничего MTU :)
0
Ваша проблема с 4k явно связана с отправляющей стороной. Например, вы слали через logger (тогда вам еще повезло) или из php (там размер output-буфера по умолчанию выставлен в 4k). На стороне rsyslog по умолчанию максимальный размер сообщения 8k (настраивается в конфиге).
Да, мы слали как из PHP, так и из KPHP, который, насколько я понимаю, имеет схожие ограничения.
На самом деле у нас строки обрезались даже до меньшей длины, до 1.5 Кб, если мне не изменяет память, и я предполагаю, что это было связано с настройками rsyslog и с тем фактом, что это всё отправлялось по UDP.
В общем, возможно вы правы на счёт того, что через rsyslog можно отправлять длинные строки, однако это сложно назвать хорошим решением из-за того, что настроить rsyslog таким способом сложно, лично мне неясно, как обеспечить надежную доставку, и модуля omclickhouse на тот момент тоже не было :).
0
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
HighLoad++, Юрий Насретдинов (ВКонтакте): как VK вставляет данные в ClickHouse с десятков тысяч серверов