Nik
короче))) нет опыта ни с тем, ни с тем. открываю сайт кафки - там написано distributed event streaming platform, открываю пульсар - distributed messaging and streaming platform
Nik
для меня кафка - это когда надо сварганить что-то из области лямбда-архитектуры, рэббит - стандартный паб/саб, а пульсар - типа и то, и то)
Vladimir
Можете сказать какая разница между кафкой и пульсаром для использование в проде? Я вроде почитал несколько статей, выглядит будто одно и тоже
там две основные разницы - кафка хранит данные прямо на брокерах, в пульсаре данные отдельно от брокеров, второе что в пульсаре обработка по-месседжно делается, в кафке оффсетами. Ну и соответственно благодаря этим двум архитектурным плюсам добавляется куча небольших
Vladimir
прям вовремя вопрос, задам его с другой стороны)) у нас с нуля проект, нужно выбрать брокер сообщений. Предлагался rabbit, но я предложил пульсар, так как насколько понял он работает и как просто брокер, и как платформа стриминга данных пы.сы. собствеено вопрос забыл, не поем ли я говна с лопаты? может стоить взять рэббит, если задач по обработке потока данных у нас пока нет, но будет
да, примерно так и есть. С говна лопаты поешь, но ты с рэббитом или кафкой ты его поешь не меньше)) У пульсара преимущество потом появляется - когда вначале на грабли понаступал, потом начинаешь его архитектурные фишки вкушать, а с кафкой или рэбитом просто остаешься с их известными проблемами
Ilya
короче, предлагаю тему дня: легализация и свободное употребление марихуаны? кто как к этому относится, кто сам курит, кто против или не против того, чтобы в офисах дули потому что это не незаконно?
Такие темы незаконно обсуждать на территории РФ, насколько мне известно. А вообще, лучше легализовать, конечно, глядя на опыт других стран.
Vasiliy
погоди, это же не пропаганда
Anonymous
прям вовремя вопрос, задам его с другой стороны)) у нас с нуля проект, нужно выбрать брокер сообщений. Предлагался rabbit, но я предложил пульсар, так как насколько понял он работает и как просто брокер, и как платформа стриминга данных пы.сы. собствеено вопрос забыл, не поем ли я говна с лопаты? может стоить взять рэббит, если задач по обработке потока данных у нас пока нет, но будет
Кролик поддерживается всеми возможными способами, на него написано и переписано уйма опенсоуснызх проектов, бесплатных плагинов и чего угодно еще. Кроме того, есть относительно недорогие решения на облаках по кластерам, которые *почти* не нужно мейнтейнить, если вдруг это играет роль. Но у него ряд минус, в числе которых необходимость тащить за собой весь вообще Эрланг и достаточно многословные и топорные подписки, отписик и прочие писки. Про Пульсар ничего сказать не могу, так как не пользовался им ни разу в проде, но Кафка отличается в первую очередь тем, что пишет на диск лог сообщений, это позволяет вернуться к нему в нужный момент времени, а-ка из будущего вернуться в прошлое и исправить/переиграть что-то по новым правилам. Хотя на практике люди пользуются этим очень редко. Если тебе персистентность не так важна, а нужна только гарантированая доставка, то насетпапить правильно Кролика и выжать из него перфоманс ощутимо лучший на MPS <= 10000-20000 с точки зрения лейтенси будет легче. А вот если в приоритете пропускная способность, а не скорость обработки конкретного сообщения, то тут решает Кафка, конечно, при этом с учетом этих ограничений она дает очень хорошие гарантии и работает реально быстро.
Anonymous
Но мне не нравится путь по которому пошло развитие Кафки дальше. Это жалкая попытка уйти от Зукипера в пользу самописного велосипеда и попытка внедрить транзакционность - это прям публичное унижение какое-то.
Anonymous
P.S. Кролик тоже умеет писать на диск, но совсем не так, как это умеет Кафка.
Ilya
погоди, это же не пропаганда
В данном вопросе безопаснее исходить из судебной практики, а не моего мнения или определения в словаре.
Ilya
Вот, например, случай из 2018 с журналом 7x7 https://twitter.com/msvetov/status/1000015727011811329
Anonymous
прям вовремя вопрос, задам его с другой стороны)) у нас с нуля проект, нужно выбрать брокер сообщений. Предлагался rabbit, но я предложил пульсар, так как насколько понял он работает и как просто брокер, и как платформа стриминга данных пы.сы. собствеено вопрос забыл, не поем ли я говна с лопаты? может стоить взять рэббит, если задач по обработке потока данных у нас пока нет, но будет
ну и самое главное. ты поешь говна с двух лопат в любом случае, если у тебя по-настоящему распредленная система с более-менее ощутимой нагрузкой (от 1000 mps при разбросе сообщений, скажем, от 10 то 100 кб). технология тебя от фундаментальных проблем не спасет. но чтобы минимизировать количество раз, когда придется умыться кровью, нужно заранее понять какие тебе нужные гарантии консистентности, какой у тебя ожидаемой лоад по 95%%, так же нужно понимать размер сообщения и на какие SLA ты целишься.
Roman
мне кажется, парень узнал больше, чем хотел)
Vladimir
у него нет верхнего предела размера?
два дня назад только заимплементил чтобы не было)
Vladimir
там большие месседжи на чанки разбиваются
Roman
и от пользователя при этом ничего не требуется?
Roman
пульсар все сам за тебя разберет и соберет в правильном порядке?
Vladimir
ага
Roman
бомба, если работает
Vladimir
от пользователя пока что только требуется отказаться от батчинга
Roman
ну, в раббите тоже сообщения можно до 128 метров вроде
Vagif
Кролик поддерживается всеми возможными способами, на него написано и переписано уйма опенсоуснызх проектов, бесплатных плагинов и чего угодно еще. Кроме того, есть относительно недорогие решения на облаках по кластерам, которые *почти* не нужно мейнтейнить, если вдруг это играет роль. Но у него ряд минус, в числе которых необходимость тащить за собой весь вообще Эрланг и достаточно многословные и топорные подписки, отписик и прочие писки. Про Пульсар ничего сказать не могу, так как не пользовался им ни разу в проде, но Кафка отличается в первую очередь тем, что пишет на диск лог сообщений, это позволяет вернуться к нему в нужный момент времени, а-ка из будущего вернуться в прошлое и исправить/переиграть что-то по новым правилам. Хотя на практике люди пользуются этим очень редко. Если тебе персистентность не так важна, а нужна только гарантированая доставка, то насетпапить правильно Кролика и выжать из него перфоманс ощутимо лучший на MPS <= 10000-20000 с точки зрения лейтенси будет легче. А вот если в приоритете пропускная способность, а не скорость обработки конкретного сообщения, то тут решает Кафка, конечно, при этом с учетом этих ограничений она дает очень хорошие гарантии и работает реально быстро.
Кролик хоть и написан на эрланге, но реально "тащить" эрланг - это сильно сказано, потому что никаких хлопот с этим нет, конкретно с эрлангом дела иметь не приходится.
Anonymous
в случае с пульсаром размер сообщения роли не играет) с кафкой я слышал что когда больше килобайте то резко перформанс падает
у нас в системе были и 150 КБ сообещния (не спрашивайте почему). и ничего, 95%% давал <= 100 ms от входа до выхода.
Vladimir
от пользователя пока что только требуется отказаться от батчинга
т.е. он не может делать одновременно поддерживать и чанкинг и батчинг, надо выбрать
Anonymous
я батчи тюнил
Anonymous
Кафка срабатывает по накоплению батча или по времени, если батч не успел накопиться.
Roman
у нас в системе были и 150 КБ сообещния (не спрашивайте почему). и ничего, 95%% давал <= 100 ms от входа до выхода.
дак а че, нам на некоторые кейсы и этого мало. Приходится в блоб складывать
Anonymous
если ты подгадаешь эту цифру КРАСИВО, то у тебя будет хороший перфоманс с заточчкой именно под этот лоад. и он будет топорный как Лукашенко, потому что как только паттерн поменяется, батч уже будет накапливаться неэффективно, а настройки на лету поменять ты не сможешь по крайней мере программно мы не могли.
Anonymous
дак а че, нам на некоторые кейсы и этого мало. Приходится в блоб складывать
у меня как бэ была софт-реалтайм критикал система. если я 95%% сообщений дольше чем полсекунды доставлял до адресата, меня из под земли доставали.
Anonymous
ну не меня, мою команду.
Anonymous
у пульсара то же самое и по накоплению и по времени
и это настройка к топику привязана? логической сущности, которая группирует партиции на диске, если они есть?
Vladimir
к продьюсеру, продьюсер как хочет так и батчит
Romɑn
Roman
жырно
Anonymous
к продьюсеру, продьюсер как хочет так и батчит
на стороне продюсера проблем почти никогда нет. а консюмер же тоже батчами читаем? условный var records = pulsarClien.poll()?
Vladimir
на стороне продюсера проблем почти никогда нет. а консюмер же тоже батчами читаем? условный var records = pulsarClien.poll()?
батч это 1 сообщение для пульсара, как продьюсер записал, так консьюмер прочитал
Vladimir
а консьюмер уже батч на сообщения разбирает, по-моему я это тебе уже говорил))
Anatoly
Можете сказать какая разница между кафкой и пульсаром для использование в проде? Я вроде почитал несколько статей, выглядит будто одно и тоже
ну в одном можно делать очереди, в другом нельзя (можно, но не имеет смысла), поэтому это абсолютно разные продукты
Anatoly
надо уметь отличать поток событий от очередей
Anonymous
я про цифры ожидаемые
Nik
мне кажется, парень узнал больше, чем хотел)
у нас в ИТ нельзя знать больше, чем хотел бы))
Ayrat
но с батчами ещё лучше
Anonymous
кто в здравому уме уберет репликацию продовских данных?
Vladimir
да, в кафке репликация весь перформанс убивает
Vladimir
и она сразу же пульсару проигрывает по перфу
Anonymous
ну мы ж за перформанс говорим
за перфоманс, оставаясь в границах здравого смысла
Ayrat
эт как бы не обязаловка
Roman
или здравый смысл
Anatoly
ну кому-то не нужна репликация
вижу очередь на кафке
Anonymous
ну кому-то не нужна репликация
а чо ты будешь делать, когда у тебя наебнется физически файл с той самой единственной партицией, а данные нельзя терять? молиться или писать завещание?
Roman
ну если не нужна репликация, значит, данные можно проебать
Roman
это ж типа тождественно
Anonymous
у меня такое за год один раз служилось. девопс запустил какую-то хуйню на кластере и пару старых топиков отвалились, у которых реплика == 1 стояло. и все, вернуть их уже только Госопдь Бог мог, но он не хотел брать эту задачу из Джиры
Anonymous
ну если не нужна репликация, значит, данные можно проебать
ну у нас были топики, которые еще до меня появились, про которые НЕ ЗНАЛИ, что нужно настраивать реплику. они автосоздавались с дефолтными параметрами.
Anonymous
и если что-то не так, бесконечно перегружали все, что перегружается.
Anonymous
и сыпали бизнес-инцидентами как дождем в августе
Anatoly
ну да)
изыди, сотона
Anonymous
ничо не буду делать
ну это только если тебе датафлоу позволяет с конкретно этими данными так обращаться. но тогда не понятно, зачем там вообще кафка, почему просто через TCP не попробовать отправить это сообщение и если не долетело - то и хуй с ним, все равно ж терять можно.
Anatoly
для очередей есть специализированные системы, а не кафка
Anonymous
мы так скоро к UDP прийдем
Anatoly
мы так скоро к UDP прийдем
в хттп уже пришли =)
Anonymous
в хттп уже пришли =)
или даже к каким-то сокетам.
Anonymous
для очередей есть специализированные системы, а не кафка
а чем партиция Кафки не очередь? ничем?