Size: a a a

Scala User Group

2020 February 13

KA

Konstantin Alifanov in Scala User Group
Oleg ℕizhnik
Для какой задачи?
Да вот попросили парсер несложный написать, решил на скале попробовать сделать. Хотел сначала для себя в json записать результаты для тестов, потом узнал что надо в csv и заюзал cantan для этого. Правда я так и не понял что там с кодировкой в cantan, то ли у меня онлайн excel затупил, либо там правда win1251
источник

KA

Konstantin Alifanov in Scala User Group
Вообще конечно надо бы начать со стримами знакомиться нормально. Всё-таки я их использовал и использую в той же кафке, а нормально с ними работать не умею как таковыми.
источник

KA

Konstantin Alifanov in Scala User Group
Кстати, а кто-нибудь пробовал outwatch?
источник

KA

Konstantin Alifanov in Scala User Group
А что вы храните с помощью Kafka Journal? И у вас есть какие-нибудь статьи по вашим проектам?  Любопытно почитать.
источник

P

Python in Scala User Group
Konstantin Alifanov
А что вы храните с помощью Kafka Journal? И у вас есть какие-нибудь статьи по вашим проектам?  Любопытно почитать.
Всё храним. Игры, деньги и т.п. Во всяких критичных местах по надёжности и производительности.

Про этот конкретный проект слайды тут можно найти: https://www.dropbox.com/s/575fd0bx8is368u/kafka-journal-hybrid-backend-for-event-sourcing.pdf?dl=0
источник

KA

Konstantin Alifanov in Scala User Group
А что значит храните игры и деньги? По кафке туда перекидываете события какие-то? Или что, расскажи подробнее
источник

KA

Konstantin Alifanov in Scala User Group
И почему именно кассандру используете, чем она удобнее чего-то еще? Сейчас будет очень тупой вопрос (потому что я только начинаю разбираться), почему например не elasticsearch, просто я такой стек видел не один раз.
источник

KA

Konstantin Alifanov in Scala User Group
А как приложение узнаёт что событие еще в кафке лежит и не попало в кассандру?
источник

KA

Konstantin Alifanov in Scala User Group
Это из доклада что выше кинул Python
источник

KA

Konstantin Alifanov in Scala User Group
Просто я к чему. У elasticsearch вот есть свой стек ELK, это если нужно смотреть визуально на кибане что в БД происходит и при этом нет возможности или необходимости что-то своё писать. А еще там всякие фичи есть и инструменты, но возможно оно всё излишнее. *развёл руками*
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Konstantin Alifanov
Да вот попросили парсер несложный написать, решил на скале попробовать сделать. Хотел сначала для себя в json записать результаты для тестов, потом узнал что надо в csv и заюзал cantan для этого. Правда я так и не понял что там с кодировкой в cantan, то ли у меня онлайн excel затупил, либо там правда win1251
источник

KA

Konstantin Alifanov in Scala User Group
Ого, это интересно! Но это мне надо про парсер-комбинаторы почитать сначала, я вот только взял книжку где про это есть.
источник

KA

Konstantin Alifanov in Scala User Group
красная книга собственного говоря
источник

P

Python in Scala User Group
Konstantin Alifanov
А что значит храните игры и деньги? По кафке туда перекидываете события какие-то? Или что, расскажи подробнее
Мы используем Event Sourcing. Каждый значимый чих в нашей системе отражается в журнале. Это намного эффективнее чем работать с реляционной базой данных.
источник

AV

Abyr Valg in Scala User Group
Python
Мы используем Event Sourcing. Каждый значимый чих в нашей системе отражается в журнале. Это намного эффективнее чем работать с реляционной базой данных.
А cqrs используете?
источник

P

Python in Scala User Group
Konstantin Alifanov
И почему именно кассандру используете, чем она удобнее чего-то еще? Сейчас будет очень тупой вопрос (потому что я только начинаю разбираться), почему например не elasticsearch, просто я такой стек видел не один раз.
Мы используем Кафку. Но у Кафки есть жесткое ограничение на количество топиков / партишнов и поэтому всякое старьё оттуда тяжело доставать. Грубо говоря надо идти по всему партишну и искать где же сообщение там. А из Кассандры по ключу чего-нибудь достать (да хоть offset из той же Кафки - это мгновенная операция).
источник

P

Python in Scala User Group
Abyr Valg
А cqrs используете?
Ага. CQRS + Event Sourcing - это наше всё.
источник

AV

Abyr Valg in Scala User Group
Эх, щас бы в кассандре оффсеты кафки хранить
источник

AV

Abyr Valg in Scala User Group
Python
Ага. CQRS + Event Sourcing - это наше всё.
CQRS сложен только если использовать с Event Sourcing. Тогда нужна вторая БД и синхронизация эвентами. Если БД одна, то сложности нет.
источник

H

Human in Scala User Group
Python
Мы используем Event Sourcing. Каждый значимый чих в нашей системе отражается в журнале. Это намного эффективнее чем работать с реляционной базой данных.
А почему вы противопостовляете ES - РСУБД? Это же вообще вроде про разное)
источник