
Юрий
06.05.2018
04:40:50
в прицнипе любые стримы

Dim
06.05.2018
04:55:24

Юрий
06.05.2018
04:55:44
так стримы очень хорошо композируются
ну и это - композиция функций тоже вполне себе норм зайдет из твоего описания

Google

Dim
06.05.2018
05:00:08

Юрий
06.05.2018
05:03:01
Ещё клейсли может зайти, если у тебя подтяный контекст
но если функции подходят - лучше их и юзать

Daniel
06.05.2018
07:00:08

Grigory
06.05.2018
07:11:05

Юрий
06.05.2018
07:12:24
Самое простое - функции

Grigory
06.05.2018
07:19:35
Кроме композиции функций; странно просто тогда что вопрос вообще есть

Nick
06.05.2018
07:25:40
Стримы тоже функции)

Александр
06.05.2018
07:48:39
Глупый вопрос, я же могу аккаунт стрим, разбить на n подребер по предельному ключу? У меня есть поток юзверей, у каждого уникальный id, и я хочу чтобы каждый попадал в свою трубу, в этой трубе яис ним что-то делаю а потом они все снова сливаются в кучу

Wystan
06.05.2018
07:53:16
Вряд ли, пайпы в компайл тайм задаются.

Alexander
06.05.2018
07:54:09
Ну если до материализации известен список юзеров, то можно собрать такой стрим

Александр
06.05.2018
07:54:56
Не известен, и может обновлятся

Alexander
06.05.2018
07:54:58
Либо flatMapConcat или как он там

Google

Юрий
06.05.2018
07:55:25
А чем partition не подходит?

Александр
06.05.2018
07:55:36
Мне нужно для каждого юзера выполнить свою задержку на выполнение запроса
А кто как лимитирование API по количеству запросов от пользоватя делает?

Wystan
06.05.2018
08:10:32
Я на уровне лоад балансера делаю.

Alexander
06.05.2018
09:10:34
У нас в одном проекте счетчики в редисе

KrivdaAllStars
06.05.2018
09:16:20
вообще поначитаешьсья статей иногда про современную разработку и иногда ночью просыпаешь с мыслью, что блииин, редис сам себя не подымет, не смаштбабирует при увеличении нагрузкии, ноды бека над руками подымать, и так далее и прям грустно становится.

Nikita
06.05.2018
09:29:25

KrivdaAllStars
06.05.2018
09:30:41
А на FoundationDB смотрел уже?
глянул одним глазком , но вообще Redis можно заметить набором любых других баз и фреймворков, это просто крик души был о том, что хочется норм процессы уметь и понимать как их организовать
у меня при удачном стечении обстоятельств может получится ее втащить в один проект , ну или поиграться с ней за барсикй счет

Denis
06.05.2018
10:09:55

Александр
06.05.2018
10:19:21

Denis
06.05.2018
10:20:02
Ну если ведет себя как обещают (что вроде как правда) то супер крутая

Nikita
06.05.2018
10:25:10
https://youtu.be/4fFDFbi3toc
Вот тут чел из этой дб рассказывает как они делали ее
Ну не со всеми деталями конечно, tl;dr: они сделали симуляцию базы данных и тестили ее, а потом только писали саму имплементацию

Alexander
06.05.2018
10:33:49

Nikita
06.05.2018
10:39:35
https://apple.github.io/foundationdb/blob-java.html

Google

Nikita
06.05.2018
10:40:41
И вот таким естественным образом решается проблема с лимитом

Denis
06.05.2018
10:49:27

Oleg
06.05.2018
10:53:31
о, этот чат тоже подтянулся к обсуждению foundationdb

Nikita
06.05.2018
10:55:06

Александр
06.05.2018
11:01:22
А кто уже текстиль и кто видит какие плюсы ?

Nikita
06.05.2018
11:05:06

Oleksandr
06.05.2018
11:07:20

Nikita
06.05.2018
11:11:02
есть или обещают?
ну по словам одного из разработчиков - есть
https://news.ycombinator.com/item?id=16884882
Yes. Linearizable means both serializable and externally consistent (or is sometimes used as just a synonym for the latter), and FDB has these properties with respect to transactions.

Александр
06.05.2018
11:14:41

Denis
06.05.2018
11:16:26

Nikita
06.05.2018
11:24:31

Nikita
06.05.2018
11:25:04

Nikita
06.05.2018
11:26:52
у тебя же снапшот иммутабельный, изоляция не нужна в этом случае. разбиваешь его на чанки и пишешь в бд в нескольких транзакциях

Nikita
06.05.2018
11:28:49
Да я прицепился просто к твоим словам про кривой дизайн)
Я понимаю что снапшот иммутабельный, ты кстати в своем плагине для акки персистенса заморочился про клинап джобу неполных жирных снапшотов?)
Типа такие редкие случаи когда ты 2/3 снапшота записал и упал

Nikita
06.05.2018
11:31:02

Nick
06.05.2018
11:40:32
@meln1k ты то где успел ее поюзать?)

Nikita
06.05.2018
11:42:06
попробовал заменить zookeeper в марафоне, все еще WIP

Google

Nick
06.05.2018
11:42:53
а зачем?
зукипер плохо работает?)

Nikita
06.05.2018
11:46:07
ну zk это не бд ведь, много и часто из него читать тяжело. народ отсылает в марафон по 150 запросов на чтение в секунду, и zk не очень хорошо справляется с этим

Nick
06.05.2018
11:46:29
а тебе нужна именно бд?

Nikita
06.05.2018
11:48:52
что-нибудь с поддержкой индексов, да. хотя offheap кеш тоже думаю подойдет.

Nick
06.05.2018
11:50:41
а напомни плиз, у вас же все запросы на мастер идут?

Nikita
06.05.2018
11:51:15
да

Nick
06.05.2018
11:52:08
а нельзя просто кэшировать запросы у себя, чтобы не ходить к zk?

Denis
06.05.2018
11:54:26

Admin
ERROR: S client not available

Nikita
06.05.2018
11:56:02

Nick
06.05.2018
11:56:25
когда вы кстати акку выпилите?)))

Nikita
06.05.2018
11:58:16
пока не планируем)

Nick
06.05.2018
12:01:43
Слушай, а почему у вас нет Хаскеля?)
Сетевики у вас эрланг так любят

Nikita
06.05.2018
12:04:21

Александр
06.05.2018
12:30:08

Nikita
06.05.2018
12:31:15
150

Александр
06.05.2018
12:34:19
Это нормальные цифры? Чёт как-то грустно

Nikita
06.05.2018
12:42:26
Ну задача марафона не в том чтобы уметь отвечать нескольким тысячами юзеров одновременно, а в том чтобы следить за тасками в мезос кластере и перезапускать их если они упали

Google

λoλcat
06.05.2018
16:02:34
https://alexn.org/blog/2018/05/06/bifunctor-io.html
Румын разносит бифункторный IO

OlegYch
06.05.2018
16:09:42
с таким же успехом можно разнести айзе

KrivdaAllStars
06.05.2018
16:13:15
айзе же мёртв
в 3.0 скале

Nikolay
06.05.2018
16:13:43
Hail to the |
Да не, я думаю что either никуда не денется в ближайшее время

λoλcat
06.05.2018
16:15:37
А в чем суть претензий?
Что это по сути возврат к чекед экспешенам, которые в языках моложе жабы (шарп, скала, котлен) выпилили.

KrivdaAllStars
06.05.2018
16:16:11
Empirical evidence suggests that most checked exceptions in Java are either ignored or rethrown, forcing people to write catch blocks that are meaningless and even error prone.

λoλcat
06.05.2018
16:16:13
Потому что опыт показал, что они причиняют только боль и портят дизайн
Там хорошие примеры, советую всё-таки прочитать пост

OlegYch
06.05.2018
16:17:32
шыло а не примеры

Nikolay
06.05.2018
16:17:36
Окей, почитаю

KrivdaAllStars
06.05.2018
16:18:44
шыло а не примеры
ну типа , толку чекед эксшепшенов, если ты их все равно на верх бросаешь
в большинстве случаев

OlegYch
06.05.2018
16:19:29
чекед ексепшены имеют такое же отношение в био как и к айзе

Александр
06.05.2018
16:21:14

KrivdaAllStars
06.05.2018
16:23:09

Oleg
06.05.2018
16:40:58

OlegYch
06.05.2018
16:41:56
сам ссышь? Ж)