Size: a a a

2018 February 26

А

Артёмка in Kotlin JVM
А можно линк?
источник

RI

Ruslan Ibragimov in Kotlin JVM
На что? На прометус?
источник

А

Артёмка in Kotlin JVM
а что значит это "оп"?)
источник

RI

Ruslan Ibragimov in Kotlin JVM
это значит что посмотри сообщение в реплае)
источник

А

Артёмка in Kotlin JVM
тьфу блин, простите)
источник

RI

Ruslan Ibragimov in Kotlin JVM
Я тут упоролся немного и сделал весь бекенд на корутинах
источник

RI

Ruslan Ibragimov in Kotlin JVM
источник

RI

Ruslan Ibragimov in Kotlin JVM
Вот так пишу хендлер
источник

RI

Ruslan Ibragimov in Kotlin JVM
все вызовы сервисов - suspend
источник

RI

Ruslan Ibragimov in Kotlin JVM
И потом объявляю рутовый хендлер
источник

RI

Ruslan Ibragimov in Kotlin JVM
источник

RI

Ruslan Ibragimov in Kotlin JVM
В итоге у меня все на корутинах
источник

RI

Ruslan Ibragimov in Kotlin JVM
Под запросы в базу выделил elastic контекст
источник

RI

Ruslan Ibragimov in Kotlin JVM
источник

DT

Dmitry Tsydzik in Kotlin JVM
норм
источник

А

Артёмка in Kotlin JVM
ух
источник

А

Артёмка in Kotlin JVM
Хотелось бы что-то в этом понять))
источник

А

Артёмка in Kotlin JVM
Не, ну как сказать что-то. Что-то понимаю, а что-то вот совсем нет(
источник

RE

Roman Elizarov in Kotlin JVM
Ruslan Ibragimov
Я тут упоролся немного и сделал весь бекенд на корутинах
И как ощущения? Кстати, глядя на скриншоты возникает вопрос почему используется Java-style цепные builders  вида something.get(...).post(...). ... а не Kotlin-style DSL вида something { get(...) post(...) ... }?
источник

RI

Ruslan Ibragimov in Kotlin JVM
Roman Elizarov
И как ощущения? Кстати, глядя на скриншоты возникает вопрос почему используется Java-style цепные builders  вида something.get(...).post(...). ... а не Kotlin-style DSL вида something { get(...) post(...) ... }?
> И как ощущения?

Ну в целом хорошо, я уже давно использовал корутины тут, но теперь не только там где хендлеры работали как прокси (запрос -> http client -> ответ), а еще и в стандартных хендлерах которые ходят в базу. Подсмотрел реализацию jsonWrapper у ктор кстати, так действительно удобно отдавать данные (раньше ручками в хендлере использовал objectMapper).

Пока из минусов - захломил немного методы в сервисах оберткой withContext.

> Кстати, глядя на скриншоты возникает вопрос почему используется Java-style цепные builders  вида something.get(...).post(...). ... а не Kotlin-style DSL вида something { get(...) post(...) ... }?

Вот как раз в том месте используется синхронный, стандартный RoutingHandler (https://github.com/undertow-io/undertow/blob/master/core/src/main/java/io/undertow/server/RoutingHandler.java#L40)

Т.е. у меня есть набор IoThread в которых идет первоначальная обработка (чтение запроса undertow и роутинг в данном случае), потом идут мои хендлеры - в них я диспатчу запрос из Io в свой тред пул (для них я выделил обычный fixed контекст по количеству тредов), и запросы в базу я делаю в elastic.
источник