Ayrat
Потому что если делать просто а памяти, то проебешь окно на падении
Anonymous
Это сейчас норма любого стримсингового фреймворка
Ayrat
Как и Кафка стримы
Вообще их не щупал ни разу
Anonymous
Вообще их не щупал ни разу
Они поверх Кафки сто миллионов внутренних топиков генерируют и руками ассайнятся на партиции для скорости рестарта, а в остальном дают все эти плюшки в виде опционального персистенса, просто реализация интерфейса нужна. И много ещё всего дают.
Anonymous
Не то, чтобы я за них топлю, но конкретно эту проблему на них решить легко
Ayrat
Да, я примерно слышал как оно работает
IdiocyAcceptance
ага
Спасибо ) Надо попробовать тоже
Vladimir
на винде у меня правда не заработало :( но на вебе и андроиде заработало
Vladimir
Помимо порядка в кафке можно просто сделать compact topic, который уберет дубликаты
честно говоря не оч представляю, как он поможет, если консьюмер законсьюмит первое сообщение, а потом придет ещё одно с тем же ключом, то он и его заберет
Vladimir
Как и Кафка стримы
в стримах разве можно прописать дискард всех сообщений окна кроме первого?
Anonymous
честно говоря не оч представляю, как он поможет, если консьюмер законсьюмит первое сообщение, а потом придет ещё одно с тем же ключом, то он и его заберет
Либо компактизация успеет его отправить в хвост и поэтому первое сообщение с точки зрения потребителя будет на самом деле не первым.
Anonymous
Это ж оптимизация памяти в первую очередь (размера топика)
Vladimir
Не очень вопрос понял.
ну я пытаюсь понять как стримы могут решить задачу
Anonymous
ну я пытаюсь понять как стримы могут решить задачу
Будут в оперативке хранить все сообщения за последние Н минут и если такое сообщение уже было, то игнорить его. Это и есть «виндоуинг».
Vladimir
там можно кастомные взаимодействия со стейтом писать?
Anonymous
Там интерфейсы
Anonymous
Ты с ними и взаимодействуешь
Ayrat
ну я пытаюсь понять как стримы могут решить задачу
Ты настоаиваешь "окошко", например по времени, которое будет задерживать сообщения 1sec и мержить все приходящие сообщения по ключу. Таким образом гарантируется отсутствие дубликатов не реже чем 1 раз в секунду
Ayrat
Можно поставить окошко - 1 сек после последнего сообщения. Или 48ч, или чо угодно
Ayrat
То есть если сообщения постоянно поступают по этому ключу, то окошко будет постоянно обновляться (консумер не получит ничего)
Ayrat
Но в том же флинке можно и стратегии эвикта настроить, и кастомные окошки писать. Очень гибко
Vladimir
Ты настоаиваешь "окошко", например по времени, которое будет задерживать сообщения 1sec и мержить все приходящие сообщения по ключу. Таким образом гарантируется отсутствие дубликатов не реже чем 1 раз в секунду
а, ну это упрощение, которое добавляет секундное лейтенси, я его хотел избежать, поэтому думал как первое сообщение сразу отправить, а на протяжении окна остальные реджектить
Ayrat
То есть ты эвиктишь окошко сразу, но хранишь его в памяти и дискардишь по окончанию
Ayrat
Изяво
Ilya
Но в том же флинке можно и стратегии эвикта настроить, и кастомные окошки писать. Очень гибко
А для того чтобы настроить-задеплоить флинк тоже нужно вытанцевать румбу на голове?
Ayrat
Но его можно деплоить без кластера, я так делал
Ayrat
Збс технология
Спарк знаешь тоже не так давно появился!
Ayrat
(под дотнет)
Ayrat
Первый релиз Спарка на дотнете ровно два года назад
Ayrat
Так что лет через 5 можно ожидать флинк
Ilya
Первый релиз Спарка на дотнете ровно два года назад
В чем принципиальное отличие спарка от кафки?
Ayrat
Кафка это лог сообщений Спарк это обработка данных
Ilya
Кафка это лог сообщений Спарк это обработка данных
Разве стримы Кафки не про обработку?
Ayrat
Разве стримы Кафки не про обработку?
Стримы Кафки умеют только в стримы. Кафки.
Ayrat
А Спарк/флинк могут в батч джобы над хадупой-залупой-тарантулом
Ayrat
Или стримить из кафки, пульсара, Кассандры одновременно, мержить все, заливать в 5 других хранилищ
Ilya
Хмм...
Ayrat
Но при этом считается что Кафка стримы ближе к телу кафки и поэтому там латенси меньше. У меня нет таких данных, я их не юзал
Ayrat
Может @theycallmewildrose знает
Ilya
Короче хуй пойми, но у нас только редис
Ayrat
Короче хуй пойми, но у нас только редис
https://github.com/RedisLabs/spark-redis/blob/master/doc/structured-streaming.md
Ayrat
ИЗИ
Ilya
ИЗИ
Жаба!
Ayrat
Жаба!
скала же
Ayrat
какая жаба
Ayrat
это ж спарк
Ilya
скала же
Как я мог ошибиться!
Ayrat
скалы бояться - денег не получать
Ayrat
для спарка ничего особенного на самом деле. там никакой тайплевел магии нет, но по сравнению с жабой меньше кода надо писать из-за лучшего тайп инфиренса
Ayrat
я видел флинк на джаве это пиздец.
Ayrat
Бесконечные простыни кода на один вонючий .mapAsync
Anonymous
Может @theycallmewildrose знает
Лейтенси у них правда очень хорошее
Anonymous
И рестарт почти мгновенный
Doge
Это пока не лезть в глубины скалы. А там куда больше всяких приколов, чем в котлине. Там и хоть как-то современная система типов, макросы, тайплевел функции, имплиситы и их дерайвинг и т.д. и т.п.
Doge
Но в спарках это всё не нужно, если нет желания в это лезть
Vagif
Vagif
Центр Осло сейчас.
Ilya
Жду реакции борцов с парковками.
Ilya
Лучше чем машины
Vasily
Центр Осло сейчас.
Слет урбанистов?
Ilya
Просто никто не юзает, все дома сидят.
Vasiliy
Doge
Ну альфа, когда она работает, в целом вполне себе веселая погонять немного.
Doge
Реализация процедурных планет у них все же лучшая из тех что есть на рынке
Мишон
А много их на рынке?)
Doge
А много их на рынке?)
Элита и всякие инди игры типы dual universe и т.п.
Doge
Реализация процедурных планет у них все же лучшая из тех что есть на рынке
Ну и корабли у них офигенно крутые по деталям и реализации. Геймплейно - ну так, где-то хорошо, где-то глючно, где-то непроработано.