Описанное в статье может показаться преувеличением, но в реальности все именно так и есть! У нас архитекторы приняли решение все делать реактивным как раз "чтобы быть готовыми к большим нагрузкам"… Разгребаем до сих пор.
P.S. Ещё один момент не освещенный в статье: если метод возвращает Mono — то просто протестировать, что к этому методу было обращение уже не достаточно. Так как если на этом методе никто не сделал subscribe (явно или "встраивая" его в реактивный pipeline) то вызван он по сути в итоге и не будет. Для таких случаев просто проверять обращение к методу с помощью mockito уже бесполезно и нужно дополнительно добавлять в тесты PublisherProbe (о чем мы, конечно же, не знали и огребли ещё кучу проблем, когда мигрировали старый код, полностью покрытий тестами).
Такие пробуждения засекает всегда. Более того, часто замечает пробуждения, которые я и сам не замечаю. Очень хорошо видно разницу в качестве сна (тот же heart rate variability) когда, например, поешь поздно на ночь, или на тренировку интенсивную сходишь. У меня обычно пульс ночью около 56, в среднем, но если выпью алкоголя на ночь — в среднем 80. После этого днём намного хуже себя чувствую, даже если пил не так много. Засекает, как быстро я засыпаю (в минутах), сколько времени провел в кровати и сколько из этого именно спал (в последнее время, как стало жарко, у меня разница между этими двумя числами бывает больше часа). Определяет температуру тела во время сна, дыхание. По этому всему строит красивые графики и показывает какую-то среднюю «готовность» к предстоящему дню (учитывая интенсивность предыдущего дня, качество сна прошлой ночи, сон за прошедшие две недели и т.п.). Да, и активность днём оно тоже меряет. При этом батареи хватает дней на 5-6.
В общем, как по мне, денег оно своих стоит. Хотя стоит оно не дёшево, да… Я себе изначально взял из-за того, что часто долго заснуть не мог. Долго ворочался. Но с этим мне в итоге помог 1мг Мелатонина на ночь.
Я себе купил «oura ring» (не знаю, можно ли вставлять ссылки, но гуглится оно легко и так). Очень помогает понять, чего же именно во сне не хватает (оно замеряет разные фазы сна, пульс, heart rate variability (не знаю, как по-русски) и много чего ещё). И делает это довольно точно.
"если метод возвращает Mono" — должно было быть "если метод возвращает Mono<Void>"
Описанное в статье может показаться преувеличением, но в реальности все именно так и есть! У нас архитекторы приняли решение все делать реактивным как раз "чтобы быть готовыми к большим нагрузкам"… Разгребаем до сих пор.
P.S. Ещё один момент не освещенный в статье: если метод возвращает Mono — то просто протестировать, что к этому методу было обращение уже не достаточно. Так как если на этом методе никто не сделал subscribe (явно или "встраивая" его в реактивный pipeline) то вызван он по сути в итоге и не будет. Для таких случаев просто проверять обращение к методу с помощью mockito уже бесполезно и нужно дополнительно добавлять в тесты PublisherProbe (о чем мы, конечно же, не знали и огребли ещё кучу проблем, когда мигрировали старый код, полностью покрытий тестами).
В общем, как по мне, денег оно своих стоит. Хотя стоит оно не дёшево, да… Я себе изначально взял из-за того, что часто долго заснуть не мог. Долго ворочался. Но с этим мне в итоге помог 1мг Мелатонина на ночь.